Bucket programs for tracking content across channels

Level 6
Level 6

What I have learned over the years is that it becomes really hard and un-scalable to make a new Facebook, Twitter, LinkedIn, or Google AdWords Program in Marketo for every instance of an advertisement of your content. Take for example EverString's State of Predictive Marketing.  I have that running in retargeting, search engine marketing, Facebook, Twitter, LinkedIn, Nurturing, email list rentals, etc etc. That can quickly get out of control with the number of Programs you would need to build.  Multiple that number against the number of new eBooks and reports and the volume of programs to build and keep track of quickly gets out of hand.

Instead I have built "bucket" programs for both the advertising channel and the piece of content. So for example the State of Predictive Marketing Report, if you download that report through an ad from Facebook you will belong to both the Content program AND the Facebook Master Program. To enable this method I created a Campaign Type in SFDC called "Content" and a Channel tag in Marketo called "Content".  Then whenever we publish a new report, ebook, case study, video, cheatsheet, etc, a program and corresponding SFDC campaign is built to track all the visits and downloads of that content.

Here is a screenshot of our folder for all our content pieces.  All downloads across all channels are recorded in these programs. We can then easily run reports on total number downloads of a piece of content, pipeline sourced, pipeline influenced by the content.  Previously, I had the content spread across 20+ different campaigns and I had a really hard time calculating how many times a piece had been viewed.


Then here is a screenshot of on of our the advertising bucket programs.  The smart campaign to belong to this program listens for the URL of the landing page to contain Facebook in the query string.  I just know that when I'm creating an ad on Facebook, the URL of the landing page needs to contain the UTM of “Facebook” and this smart campaign will react.


Here is a screenshot of my Google Adwords program.  I clone these every quarter so that I can enter in new period costs based on how much we spent in that channel.


The UTM fields can get replaced time over time as a lead interacts with more content. The smart campaign inside the Marketo program listens for the different values in the UTM_campaign= xyz to give each piece of content and campaign credit.

So for example if the landing page is posted to facebook the value for UTM_campaign=Facebook. But if the landing page is posted to an external email campaign in MarketingProfs, the value will be "12-2-marketingprofs".  Examples of URLs I have in use:

The end result is that as a team we can track how content performs with multi-touch attribution and see if the content's impact at different stages of our funnel. 

How are you tracking content success across your channels and programs?

Not applicable

Hey Jessica,

Just so I'm following, you basically have two sets of programs: one that gives you the pretty roll-up for each piece of content, but then you have the other individual programs for each campaign so that you can attribute leads to individual campaigns?

Level 6

I wouldn't say it is two sets of programs. It is more that each piece of content has a bucket program to track all downloads and then that content can be used across 5, 10, even 20 demand generation programs.

Not applicable

This goes back to the old "are programs/campaigns for tracking source, or offer" argument. Interesting to see how you're doing both. I've been futzing around with this idea of capturing the source of traffic to a program within custom fields on the SFDC campaign member field. So you'd have a webinar program/campaign, and then within each campaign member are utm fields that indicate where their registration came from.

This is good inspiration to write that up finally as an other possible method to tackling this problem. Thanks for sharing!

Level 10

Hi Jessica,

Thks for this.

This is were this idea would be extremely handy:


Level 6

At other places I created a custom channel tag for the offer, product, and region.

My problem with that was those tags don't naturally sync over to SFDC to empower reporting tools that aren't connected to Marketo.

My current set up allows me to power multi touch attribution via BrightFunnel. 

Level 4

Our team just released a great comprehensive Infographic on the nuances of Marketo Programs to SFDC Campaigns: When Marketo Programs meet Salesforce Campaigns [Infographic] | LeadMD

The custom tags Jessica mentions can be synced to SFDC with the use of the MKTO and SFDC API. In my experience it's worth it. We subscribe to methodology that any content piece big enough to truly garner ROI (no blogs, articles or small vids) should have it's own program for distribution channel and timeframe - i.e. {Asset} - {Social Channel} - {Timeframe} separate from the umbrella Asset.

Justin Gray

Not applicable

Jessica, thanks for the article  and your approach validates my thoughts of leveraging multiple programs to capture source and offer. Grégoire Michel  I just liked your idea.

The approach I usually take....

1) Use bucket programs with listening campaigns to capture source membership. Usually, these leverage UTM parameters for the trigger.

2) Use content programs to capture the content membership. This is where the landing pages, etc live.


If a person signs up for a best practices WP from a Google Ad (, the listening campaign would bring that person into the Google Program based on those parameters. At the same time, the person would also end up in the Best Practices WP program based on the form/page completed.

Note on Acquisition

I usually have things setup so the source programs get acquisition credit. However, if no acquisition credit is given, there is a 3 min wait step that will default the acquisition credit to the Content. This comes into play if there is no URL parameter is present (e.g. if content lives on website)

Level 6

One thing about putting the landing pages with the content programs is then they receive acquisition credit.  It is that where thee acquisition credit belongs or is it with the google adwords that deserves the acquisition.

Not applicable

When did you come up with this idea?

Level 3

@Jessica Cross Thanks for the insight. My question is, how does your Facebook 'bucket' Program know which of the 'content' Programs generated a conversion when reporting?