syncLead SOAP API call not always returning Marketo ID

Anonymous
Not applicable

syncLead SOAP API call not always returning Marketo ID

It seems that when I call syncLead with a new lead, I don't get a Marketo Lead ID in the return payload. I only get it when I call syncLead on an existing record in Marketo. Is this behavior by design? Should I call syncLead or getLead on all records in my database withput a Marketo Lead ID? 

Relatedly, the Marrketo ID is presumably a unique field in Marketo. But I was told elsewhere that Marketo considers the email address unique. Is that correct?
Tags (1)
2 REPLIES 2
Grant_Booth
Level 10

Re: syncLead SOAP API call not always returning Marketo ID

Hi Ron,

I would have to test under what conditions the marketo id gets returned with the syncLead call.

Whether you use syncLead or getLead depends on what your intent is - to create/update a record or just to find out its field values.
syncLead will create or update a lead where as getLead returns its field values.

The Email field is what you could call "semi-unique". If you are using it as the identifying key (as opposed to the Marketo ID, a foreign system ID, or the munhckin cookie), it will check to see if there is an existing record with that value for Email, and create a new record if there isn't one. It's not a unique identifier in the sense that it's possible for there to be different records in Marketo which have the same email address. If there are duplicate records, I believe it updates whichever one was updated most recently.

Kenny_Elkington
Marketo Employee

Re: syncLead SOAP API call not always returning Marketo ID

Hi Ron,

syncLead should always return an ID.  Please log a support case including an an example of the XML request and XML response where you've observed this behavior.

Thanks,
Kenny