With the unveiling of some new APIs from Marketo, I'm wondering if anyone has discovered a programmatic way to capture the name of a downloaded asset from a lead Id? If we were to query for a specific list of leads, can I get the name of the white paper/ebook/guide that the user downloaded? Is the only way through a hidden field using tokens? Thanks in advance!
Solved! Go to Solution.
Aaron, please move this Q to Products as your next step ("Central" is for non-product-specific marketing topics).
Like Darrell said, you should define what you mean by "the" downloaded asset, since (we hope) a lead will have multiple assets over time.
If you mean the downloaded asset associated with a specific Filled Out Form event, the Activity API has always allowed access to this, provided the asset exists as a field in the form data. (The Forms API allows access to the form descriptor including the hard-coded, form-level Thank You assets, but this is not a reliable source, since there are many other ways to choose a Thank You asset. Plus the descriptor can change over time and no longer reflect what the lead downloaded.)
I don't totally agree with Darrell about using a UTM parameter to transport the asset URL into the form's payload. On a Marketo-hosted LP, you can use a {{my.token}} or variable for the asset URL, so you don't have to always remember to source-tag URLs. Plus, adding a filename to all source URLs can make them look kind of messy IMO, and you someone might hit your LP without UTMs (but should still have the downloadable asset linked to the form fillout).
There are also alternate ways to ensure the URL is queryable that don't involve adding a field to the form. For example, if you use an interstitial Thank You page, you'll log a Clicked Link on a download link and the Thank You URL will also be in the Activity History, so you can see that they downloaded asset Y as a result of form X. Similarly, if you use a redirector page, you'll log a Visited Web Page that contains the interesting data.
Aaron,
Are you trying to report on the name of the FIRST asset they downloaded which created the lead?
You can pull the asset name from a UTM/custom parameter in the URL which fills a hidden form field, and then populates a new field called lead source detail, or you can name it "Asset" or "Content". Make sure the setup prevents overwriting on future form fills.
Aaron, please move this Q to Products as your next step ("Central" is for non-product-specific marketing topics).
Like Darrell said, you should define what you mean by "the" downloaded asset, since (we hope) a lead will have multiple assets over time.
If you mean the downloaded asset associated with a specific Filled Out Form event, the Activity API has always allowed access to this, provided the asset exists as a field in the form data. (The Forms API allows access to the form descriptor including the hard-coded, form-level Thank You assets, but this is not a reliable source, since there are many other ways to choose a Thank You asset. Plus the descriptor can change over time and no longer reflect what the lead downloaded.)
I don't totally agree with Darrell about using a UTM parameter to transport the asset URL into the form's payload. On a Marketo-hosted LP, you can use a {{my.token}} or variable for the asset URL, so you don't have to always remember to source-tag URLs. Plus, adding a filename to all source URLs can make them look kind of messy IMO, and you someone might hit your LP without UTMs (but should still have the downloadable asset linked to the form fillout).
There are also alternate ways to ensure the URL is queryable that don't involve adding a field to the form. For example, if you use an interstitial Thank You page, you'll log a Clicked Link on a download link and the Thank You URL will also be in the Activity History, so you can see that they downloaded asset Y as a result of form X. Similarly, if you use a redirector page, you'll log a Visited Web Page that contains the interesting data.
Thank you both for your responses. We would like to capture all assets that have downloaded by the lead, so not just the first asset. I think there are some good variations and options for all of our customers here. Side note - we are trying to record this info from our customers, not for ourselves, so we have to be adaptable in our method here.
For those that don't want to add the field to the form, we can hopefully grab it from a Clicked Link or Thank You URL. If the customer is willing to set up a field on the form that is dynamic for each piece of content, we could hit the Activity API for the Filled Out Form event. Do those both sound like the most viable options?
For those that don't want to add the field to the form, we can hopefully grab it from a Clicked Link or Thank You URL. If the customer is willing to set up a field on the form that is dynamic for each piece of content, we could hit the Activity API for the Filled Out Form event. Do those both sound like the most viable options?
Yes, those are the primary options, but I would steer away from the API option if you can. It creates more back-end business than should be necessary here (you also have to dereference Lead IDs to email addresses in order to get a report that's similar to an Analytics UI report).
I can't picture a situation where adding a hidden field is possible, but adding that same value to the URL of the Thank You page (or having it be the Clicked Link to the asset itself!) is not possible.