Standard behavior seems to be to use email address to determine whether a lead exists so it can be updated or created as appropriate. Is it possible to use any other field such as the Marketo ID to identify which lead the form should update?
So for instance, if I have 2 email addresses, and Marketo has email address A, but when I go to a form, I submit it with Email address B, that's going to create two leads for the same person rather than updating the preferred email address in the existing lead. Any way to avoid that if I can know the Marketo ID (or some other unique identifier), and I'm able to pass it into the landing page via a query string parameter?
Solved! Go to Solution.
Like Darrell says, form submissions dedupe on email address. And this is a very good thing, because forms are insecure enough as it is: if you could forcibly update the database knowing only a (predictably formatted + incremented) Lead ID, you could basically overwrite someone's entire Marketo database.
I would advise you not even try this via API, since you'd be creating the same vulnerability if you allow untrusted users to trigger API upsert calls. Plus you'd have a DoS vulnerability to boot.
The good news is it doesn't sound like you really need Lead ID update. You want to allow people with associated web sessions to update their email address instead of creating new leads. This you do by exposing proxy fields (like Email Address 2) on your forms. That's what the lead updates. Then you can use Flow steps to Change Data Value the primary Email Address field.
Using Marketo out of the box you can not do this. It would have to be the email address as the unique identifier.
If you have access to development resources, the API can update records based on the Marketo ID.
Like Darrell says, form submissions dedupe on email address. And this is a very good thing, because forms are insecure enough as it is: if you could forcibly update the database knowing only a (predictably formatted + incremented) Lead ID, you could basically overwrite someone's entire Marketo database.
I would advise you not even try this via API, since you'd be creating the same vulnerability if you allow untrusted users to trigger API upsert calls. Plus you'd have a DoS vulnerability to boot.
The good news is it doesn't sound like you really need Lead ID update. You want to allow people with associated web sessions to update their email address instead of creating new leads. This you do by exposing proxy fields (like Email Address 2) on your forms. That's what the lead updates. Then you can use Flow steps to Change Data Value the primary Email Address field.