2 of 2 people found this helpful
I have a lot of integrations and they all use "Web service API" which made it difficult for me to determine lead source. What I did was have each of those systems create a hidden field and I connected it to a custom Marketo field I call "Integration Source". Then all they do is pass along the data like "CVENT" or "Vidyard", etc.
That field is overwritten each time a lead interacts with one of those, but I can have interesting moments fire off, lead source created, last lead source updated, etc. that allow me to see when that integration touched or created a lead. It works well for me!
I'm having the same issue. Could you please explain what you mean when you say those systems create a "hidden field" that you then "connect to" a customer Marketo field?
Do you mean that you have the web service api sources write to your Integration Source field? I created a similar field called API Source that one of our web api sources writes to. I was considering getting the others to do so as well - but realized it would get over-written each time - which isn't helpful when troubleshooting. So I was thinking about blocking API Source from updates and creating an API Source Most Recent field that could get overwritten.
Sounds like a good idea to me, Denise.
Note you can actually attach a Reason to the Push Lead API endpoint. This Reason remains attached to the Push Lead activity and can be queried.
However, not all API-based apps use this endpoint (I would venture that few do b/c they don't see the advantages). Push is a good substitute to for upserting leads in batches, but it doesn't allow for the pure bulk importing of the Bulk Import API.
Thank you, Sandy!
1 of 1 people found this helpful
Hi Denise Greenberg,
I'm happy to explain! Most of the Launchpoint partners are able to put a hidden field on their native forms that send Marketo information without making that field visible to the person filling out the form. Here's an example from my CVENT set up:
Notice how registration type is connected to the CVENT field with no default value but integration source is not connected to any field on the form (that's how it's hidden) and the default value sent is CVENT. So every time that a record is processed this field will be marked with CVENT without the person seeing it.
Then on my end I have a smart campaign with a trigger looking for "person is created" or "data value changes: integration source new value is CVENT" with a filter of "integration source = CVENT".
My flow steps are setting lead source, last lead source, interesting moments, sending alerts, changing program status, adding to list, etc., depending on the integration in question.
I'm actually fine with having the integration source overwritten repeatedly if someone interacts with many channels because I have my first touch attribution through lead source captured, and multi-touch through interesting moments / program successes. So for me, it's not as important to keep this field untouched after the first time it's set, but your idea of having an original API source and then most recent API source makes sense. If you do that, I'd check to make sure that by blocking Original API Source from being updated, that you aren't blocking it from being set in the first place (that will depend on how you set up the block ).
I see. In my case, my Web API sources are not necessarily collecting names, etc. via a form. So I just want them to populate my fields in Marketo. Thank you, Christina!
1 of 2 people found this helpful
No you cannot. The API does not provide the possibility to set your own values and it's not possible to change it afterwards.