5 Replies Latest reply on Dec 22, 2015 9:38 AM by Kenny Elkington

    Details of Custom Dedupe Logic

      Hey all,


      So, I'm trying to set up a system that essentially syncs data between a our software system and Marketo. This is made more complicated by the fact that email addresses aren't unique, but I do have unique user IDs. I wanted to verify some behavior about how things work with Custom Dedupe rules and maybe get some advice from the community. Specifically, here are my cases:


      Comes in through API first

      1. An API call is made, creating a new lead. Email Address: seller@coupang.com User ID: 1000
      2. There is initially no other seller@coupang.com in the system.
      3. Later, through a List Import, someone tries to bring in a lead with the email address of seller@coupang.com, but no User ID

      If I don't have any custom dedupe logic, this will just update the lead in the system (I think, and I think this should be fine). If there are two sellers, I don't much care which one gets imported onto, but I'd rather not make a third record. If I do have custom dedupe logic of email + UserID, does the one that comes in blank make a separate record?


      Comes in through List Import First:

      1. A list import happens, bringing in a new lead, but we don't know the user ID yet. Email Address: seller@coupang.com User ID: (blank)
      2. There is initially no other seller@coupang.com in the system. This record gets assigned a user ID of 1000 down the road in my back-end system.
      3. Later, through an API call, I try and lookup User ID 1000, don't find seller@coupang.com


      At this point, if I'm clever, the code looks for the email address and gives seller@coupang.com a value for user. I think this should work fine- any gotchas? I could also have the automated process that creates the user ID update the record right then.


      Anyone else doing something like this? Anything you learned the hard way? I'm mostly leaning towards not really having any custom dedupe logic turned on, and then using lookup fields in the REST API to make sure that the ones coming in that way create dupes as needed.