Reporting: Use "Listening Programs" to Measure Channel Effectiveness, like PPC, Social, Content Syndication and More

Not applicable

Let's say you want to report on revenue attribution across your marketing channels and offers. For example, your channels and offers might fit into a matrix that looks like this:

Define Channel and Offer Types.png

Likely, you'll have Marketo forms associated with each offer that will "give credit" to the offer program, e.g. a webinar program or a web content program that contains your e-book or whitepaper for download.

But what about all those channels, for instance: What if you promoted your webinar or whitepaper through multiple channels, like PPC, social paid, social owned, partnerships, etc? You'd want to give credit to those channels too, since it's each channel that actually drove leads to your webinar or whitepaper. More importantly, some of these channels have costs associated with them, so you'd want to see how your investments by channel perform.

In such case, you would want the offer to get credit, as well as each of the channels that drove leads to the offer, like this:

Offer vs. Channel.png

In Marketo, we can give credit to channels by using "listening programs," that listen for the form conversion from a unique URL. By using Marketo to measure both offers and channels, you'll have a more holistic view of what's driving acquisition, conversions, and ultimately, revenue.

How does this work? At a high level, you'll:

  1. Define your channels and create them in Marketo. Note that channels aren't the same thing as offers, but you can (and should) report on both.
  2. Use unique URLs with URL parameters that contain the channel and offer data you want to report on.
  3. Add hidden fields on your forms to collect channel and offer data through URL parameters.
  4. Build "listening programs" to give credit to the channel when the lead converts.

Here's what's covered in the attached presentation:

  1. Why it’s important to measure across channels and offers to gain a holistic view of your marketing effectiveness
  2. How to use tagged URLs, hidden form fields, and “listening programs” to give credit to your channels
  3. The types of reports you’ll be able to run with this strategy in place

Here's a brief run down of the 7 steps involved, with much greater detail and screenshots in the attached presentation:

  1. Define URL parameters to capture this data on form conversions
  2. Develop a process for creating and tracking all your tagged URLs
  3. Create custom fields to capture channel or offer data on form conversions
  4. Add hidden fields to forms that autofill channel or offer data from tagged URLS
  5. Develop folder/program structure for reporting
  6. Set up channels in Marketo to reflect your reporting strategy
  7. Create a Listening Program to Give Credit to the Channel

Download the attached full presentation for a step-by-step walk through of how to build a reporting strategy to measure channel effectiveness:

Cover Slide.png

Level 8 - Champion Alumni

Excellent overview Christine, thank you!

Level 9

This caught my attention.. perhaps we could flesh this out as a feature request?

"Use unique URLs with URL parameters that contain the channel and offer data you want to report on."

I realise there is a "long way" of doing this, or perhaps a slightly easier URL parameter way of doing this.. but I think it would be interesting if "out of the box" Marketo could set up individual URLs for different channels.

So the workflow might look like:

1. Create a page

2. Create a URL for your Adwords link, create a URL for your Facebook link, etc..

3. Use your listening program to assign various channel data

Or is this just overcomplicating the problem?

Not applicable

Thanks, I usually work a similar process and love to see it documented. One other little note. How does a company assign acquisition credit?

What do you think Christine? Rule of thumb I recommend: The offer gets the Acquisition credit by default. However, if a Channel exists, give that precedence. For example, if someone hits the website and downloads an ebook, the ebook gets acquisition credit. However, if the download came from a FB ad, both programs get credit but acquisition goes to FB.


  • In the Channel programs,  add a flow step to make it the acquisition program if no acquisition program exists.
  • In the Offer programs, add a 5 min wait step---if no acquisition program, make the offer the acquisition program. Obviously, if the Channel campaign populates an acquisition value, the offer wouldn't populate anything.
Not applicable

Jeff, I really appreciate your insight on this. I've heard of it done both ways so having your method documented here will help others sort out what's best for them.

Would love to hear more about your reasoning to collect acquisition program on the channel.

Not applicable

Oh sure, a native solution to creating/tracking tagged URLs would be great!

Level 3

Also, Where does the landing page live? In the PROGRAM or DESIGN STUDIO? I'm trying this and having no luck... perhaps because my ACQUISITION PROGRAM value is immediately being set because my landing page is in the original PROGRAM.

Not applicable

I think you're right David, I encountered the same issue. Making the landing page global will fix it.

Not applicable

Thank you so much for this very clear overview Christine Tran! I have one question about double counting success, it does distort the data in the Program Analyzer right? And the way to fix it would be to filter out channel programs from offer programs and make sure to always look at them separately?