SOLVED

Marketo cookies and leads coming through API

Go to solution
Highlighted

Marketo cookies and leads coming through API

Hello,

one of our cloud platforms is collecting leads via a .php form and pushing data into a Marketo static list via webservice.

The cloud platform is cookied and I can therefore track activity in Marketo.

I'm wondering if a net new lead is coming through an API and then visits a Marketo cookied page, would the activity be attributed to lead.
Or will the activity be considered as anonymous as my net new lead hasn't filled out a Marketo form or click in an email yet?

If latter, how can I reconciliate data? Should I ask API to also push the Marketo cookies so that when lead does further activity this is attributed to them?

Here is a recap of current scenario:

register to cloud platform > approved > pushed to marketo approved static list

lead visit cloud platform > pushed to marketo logged smartlist

my ratio logged/approved is pretty low compared to when I was using a Marketo form to register and I'm wondering if this is because

approved = known leads

logged = anonymous leads and therefore they don't show up in my smartlist.

Cécile

Tags (2)
1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Level 10 - Community Moderator

Re: Marketo cookies and leads coming through API

It's not a field, it's the API method Associate Lead.

I hope you inform the cloud platform of the limitations of this approach.

View solution in original post

10 REPLIES 10
Highlighted
Anonymous
Not applicable

Re: Marketo cookies and leads coming through API

Hi,

A couple of things.

Typically there is a daily API call quota of 10,000 API calls

And

We can only do max 100 API calls in a 20 second window to Marketo servers.

If you have multiple of these cloud platform pages, and if you have a high volume / usage cloud platform, you might be using more than this allowed quotas. Some of the API calls would not be making it to Marketo server due to that. Technically, you can pass Marketo cookie via API calls. But the above limitations will still apply.

Same thing also could have been done by 'server side post' from your cloud platform to Marketo server over http. But that also have similar limitations.

For these reasons, It is recommended to consider using 'client side' technologies to sync with Marketo in such cases. Especially when you do not control the number of visitors, frequency of visits and so on as in case of public facing webpages.

You can use Marketo Forms 2.0 API to do a background form post or Munchkin API to Associate lead etc. There are no throttling / limits on those calls.

Your observations of low approved/logged ratio might be an effect of this. But regardless, you might want to consider this issue..

regards

Rajesh Talele

Highlighted

Re: Marketo cookies and leads coming through API

Bonjour Cécile,

I gather from your writing that the integration is a server to server ?

If this is correct, you can read the Marketo cookie and pass it to your cloud platform, together with the lead data. Then there is a specific API call that will enable you to associate the lead data with the value: "associate lead" (Associate Lead » Marketo Developers). It will need that you have identified the lead ID first, which is normally done from the upsert call.

If this is a client side integration, posting a Marketo hidden form in the background, as suggested by Rajesh, is the best way to go. See here: Make a Marketo Form Submission in the background

-Greg

Highlighted
Level 10 - Community Moderator

Re: Marketo cookies and leads coming through API

If this is correct, you can read the Marketo cookie and pass it to your cloud platform, together with the lead data. Then there is a specific API call that will enable you to associate the lead data with the value: "associate lead" (Associate Lead » Marketo Developers). It will need that you have identified the lead ID first, which is normally done from the upsert call.

And this is exactly why using the API for this application is a horrible idea.  You just used two API calls to perform something that can be done without using any API calls at all. 

And, though both are bad ideas, the server-side form post is actually more scalable than using the API. At least if you queue up form posts in application code (using a job queue) you can get 43,200 per day.  API -based form posts with the same functionality can only handle 5,000 per day across your entire enterprise.

Highlighted

Re: Marketo cookies and leads coming through API

Hi Sanford,

You also can add that the server side form post is not officially supported...

Agreed on the API consumption: this is a real problem. All the more so as, unlike other API calls, apparently, the "associate lead" function can only handle one lead at a time. As the "insert / update" call can manage up to 300 leads / call, the whole process can be optimized and up to 9966 leads could be inserted and associated/ day, at least in theory:

If X is the number of leads, X/300 + X = 10000 --> 301X = 3000000 --> X= 9966

But if the associate lead could also handle 300 leads / call, the total could go up to 150000/day.

Hence the idea:

-Greg

Highlighted
Level 10 - Community Moderator

Re: Marketo cookies and leads coming through API

300 x 5000 = 1,500,000 (one million five hundred thousand)

But being forced to batch form posts means you can't respond interactively. You're better served by a non-rate-limited method such as the Forms 2.0 API.

Highlighted

Re: Marketo cookies and leads coming through API

Yes, you are right, 1.5 millions Doing math late at night drives to errors

-Greg

Highlighted
Level 10 - Community Moderator

Re: Marketo cookies and leads coming through API

I'm going to come on even stronger than Rajesh, as I typically do.  Server-side form posts are a bad practice and API-based form posts are a worst practice. Despite their "technical" sound, these are actually the least professional options for posting individual forms to Marketo.

Thus isn't just about legitimate use of your site, it's about malicious abuse (Denial of Service), which every company must take into account.   But even before malicious DoS is factored in, both of the above options are strictly rate-limited.  There may not be enough API calls availablein a day for you to run a successful campaign, period -- and, just as bad, not enough calls for you to honor every unsubscribe request.  And even if your form posts are lucky enough to all go through, they explicitly deny service to all other integrations.  Then add in a mildly curious hacker and/or competitor and you're dead in the water.

If you were to add lead association via API, you hurt availability even further. As Rajesh said, your developers should stop, switch gears, and Make a Marketo Form Submission in the background instead of what they are currently attempting.

Highlighted

Re: Marketo cookies and leads coming through API

Hello,

to clarify the non marketo form is embedded in a SaaS platform developed by engineering. I have asked them to use a Marketo form but apparently their methodology was better for the platform usage (the marketo non form is only used to collect eval requests). The integration with Marketo is fine and I'm not experiencing any performance issues. I just noticed that even if Marketoo cookies were embedded in platform, Marketo was unable to reconciliate lead data and marketo cookies for net new leads. It just lists the web activity under anonymous. I wanted from you a confirmation that:

1- if you use API to push leads to Marketo and if email address doesn't exist, lead is considered as a new record without any cookies

2- I could pass the Marketo cookies through the API so when lead is recorded both data + cookies are associated to lead and as a result any following web visits goes under the lead

Hope this makes more sense.

Cécile

Highlighted

Re: Marketo cookies and leads coming through API

Grégoire Michel Sanford Whiteman Rajesh TaleleSanford Whiteman

with engineering we are trying to push Marketo cookies. we are using REST services. I cannot find in the field management table which field needs to be populated. Can you help?