Reporting and Attribution in Marketo: Comparing Your Options

Justin_Norris1
Level 10 - Champion Alumni
Level 10 - Champion Alumni

Attribution tools are to a marketer what a compass is to a hiker—both provide direction in your journey and guide your next steps. We’re familiar with current Marketo compasses but now Marketo has embedded a new GPS: Bizible. How does Bizible compare to the Marketo compass you’re currently using, and more importantly, how will it impact your daily operations?

Attribution Review

If you’re accustomed to tracking attribution using Marketo and Revenue Explorer, Bizible represents a significant change. In my last post, I covered the primary functions of attribution tools: capturing data, modeling data and reporting on that data. In this post, I’ll focus on each function, to illustrate the variances of the tools as well as provide common applications to emphasize the impact on your operations.

Data Capture

The scenario: You want to track what marketing initiatives are bringing people into your database (ie, “Lead Source”).

The process with Marketo: Most marketers can track an offer (ex: a content asset) in Marketo fairly easily using a combination of the form and/or landing page. However, tracking a channel is much harder, especially when it involves digital channels.

To obtain channel information in Marketo you’ll need to use UTM parameters on your landing page along with web referrer data to deduce organic channels. For example:

  • utm_medium = paid-social: channel = paid social
  • Web referrer contains “google.com” and no UTM parameters: channel = organic search

Of course, you also need to ensure all links are tagged correctly.

Next, you need to get that data into Marketo. You might be asking, what about using hidden form fields to capture these parameters? Certainly possible, but what if people don’t fill out a form on the first page they visit?

To solve, you’ll have to implement your own tracking script to capture the data, convert it to cookies that persist as the visitor jumps from page to page, ensure all forms have hidden fields to capture UTM and referrer values and finally, pass these values to fields on the person object, which can then trigger adding the person to an appropriate tracking program. Moreover, scripts must be flawlessly written, to avoid failure in certain browsers or Marketo logic fails. Many marketing organizations use these methods very successfully, but there is, never-the-less, complexity and potential for error with this approach.

The process with Bizible: There is little configuration to start capturing data with Bizible. Since Bizible has its own tracking script, tracking is simplified, especially for digital activity.

What’s happening behind the scenes: when someone fills out a form, Bizible detects and logs the URL of the form completion page from which you would deduce the offer. Where Bizible excels is in tracking channels. Bizible automatically detects and stores the UTMs and web referrer data associated with the session, without having to set custom cookies or modify your forms. Finally, because Bizible has direct API connections with ad platforms like Adwords, Bing, and Facebook ads, it automatically pulls ad and cost detail from these platforms, without any manual tagging required on your part.

A Functional Comparison:

MARKETO

BIZIBLE

OVERALL

Munchkin tracking script captures web activity. Marketo also logs form fills and email interactions. Referrer/UTM data stored but only in activity log. Custom script required to make this data accessible at the field level.

Bizible tracking script tracks web activity and form fills as well as referrer and UTM data, which is associated with touchpoints for easy reporting. Tracks full clickstream data via Bizible Data Warehouse product, giving it the detail of a full-featured web analytics solution.

OFFERS

Easy to track; typically uses a combination of a form plus landing page to identify offer, which can trigger the addition of a person to the corresponding program.

Detects and logs the URL of the form completed; offer is deduced based on URL.

CHANNELS

Harder to track, especially digital; requires custom script to convert UTM/referrer data to cookies and form management to ensure data is mapped to fields on the person record in Marketo.

Automatically detects and stores UTM parameters and web referrer data, without creating custom cookies or modifying forms. Direct API connections with ad platforms capture ad and cost data without manual tagging. Platforms currently supported: Adwords, Bing, Facebook Ads.

Data Modelling

The scenario: You’re launching a multi-faceted marketing campaign consisting of many offers (blog posts, webinars, ebooks, etc.) across numerous channels and your boss requires a report showing which channels are driving the most engagement with particular offers. In your preparations, you must also plan for the “human factor”— people who interact multiple times with a single channel.

The process with Marketo: Your set-up revolves around Marketo’s unit of attribution, the program, which represents a single marketing initiative you want to track. You can create as many programs as you like, and stages indicate the level of interaction with each program and if that interaction was successful. Programs correspond to a Salesforce campaign (if you track this in Salesforce). How do you capture the relationship between offers and channels?

Your options are less than ideal:

  1. Create separate programs for offers and channels: This allows you to capture each marketing asset and traffic source the person engages with, but there is no connection between them. Also, if someone engages with the same channel (e.g., organic Twitter) twice, you can’t track the second interaction, because a person can only be a member of a program once.

  2. Create a program for every offer + channel combo. Ex: ABC Ebook + social; ABC Ebook + paid search…and the list goes on. Prepare yourself for a mountain of work and huge task list to maintain.

    programs set up to track offer + channel data

  3. Copy UTM values to the campaign member, which also moves reporting to Salesforce (as you cannot store this additional metadata related to a specific program status in Marketo). This option gives you a more flexible model but requires extra configuration and custom code in Salesforce. Additionally, there are some challenges to tracking costs for ROI and reporting by channels with this method, as you no longer have a distinct campaign to represent the channel.

campaign member example

The process with Bizible: Bizible uses “touchpoints” (or the marketing interaction between a person, offer, and channel) as the unit of attribution and captures every web visit, form fill, and offline touchpoint, grouping them into channels or subchannels that you create. Theoretically, unlimited touchpoints are possible.

The process is straightforward as Bizible creates touchpoints automatically with little to set-up or maintain. Also nice, all interaction data, both offer and channel, are stored on the same record. As a result, there is greater flexibility in reporting options, including changing channel groupings midstream and reprocessing of all data without information loss.

The downside? You’ll have less rich metadata about offers, because the form URL isn’t as precise as the metadata associated with Marketo programs. For this reason, I recommend that you maintain offer programs in tandem in Marketo, which you would likely need anyway to send fulfillment emails, etc.

Bizible Touchpoint Example

A Functional Comparison:

MARKETO

BIZIBLE

UNIT OF ATTRIBUTION

Unit of attribution is the program, a single marketing initiative which corresponds conceptually to a Salesforce Campaign.

Unit of attribution is the Touchpoint, a single marketing interaction between a person, an offer, and channel, stored in a single record.

DATA MODEL

One person can be a member of many programs, but only once per program or campaign. Stages indicate the level of interaction with the program and whether that interaction was successful. Program structure can be as granular as you want, but this becomes hard to manage when tracking offer + channel combinations.

Touchpoints are unlimited; touchpoints are captured for every web visit and logged in CRM for a person’s first anonymous visit, every subsequent form fill, and for offline touchpoints when synced from a campaign, even when repeat interactions with the same offer and channel occur. Channels are assigned to touchpoints dynamically based on business rules, eliminating the need to maintain a set of pre-existing campaigns for tracking purposes.

METADATA

A program can have various types of metadata to add additional dimensions, ex: region, product line, type of marketing initiative, etc. but program tags are limited to a fixed set of values, limiting their usefulness.

Touchpoint data is set based on UTM parameters, providing more flexibility to describe channels according to your prefered taxonomy. Channel and subchannels group touchpoints according to your configuration, which can be altered and data reprocessed. Metadata about offers is limited, as only the form URL is captured.

Data Reporting and Visualization

The scenario: You’ve completed your marketing campaign, and now it’s time for the fun part— reporting on the results. Your CMO is excited to see how each effort performed and eager to know which was the most profitable...

See how Data Visualization and Reporting compare on Perkuto’s website.

11574
2
2 Comments
Ruth_Baucom
Level 3

We're planning to implement Bizible but we're trying to figure out if we want to keep the Lifecycle Modeler and Advanced Report Builder (RCE). Do you find a real need for these when your attribution reporting is done in Bizible and systems outside of Marketo?

Justin_Norris1
Level 10 - Champion Alumni

Hi Ruth Baucom​,

Both systems have their strengths and weaknesses, but I suggest you will want one source of truth to stick to. If you have Bizible then likely that should be your source of truth and you would be reporting primarily in CRM or in the Bizible UI.

In addition to providing attribution data, Bizible touchpoints also track the history of transitions through your funnel which enables some demand waterfall reporting features. If you have the custom stage mapping feature activated, you can configure these so that the touchpoint positions map to your funnel stages and report on things like number of MQLs / SQLs etc. created per period.

Bizible's new Discover UI also includes some cohort reporting out of the box, but I haven't had a chance to use it yet.

If you are in the sales cycle with Bizible, it is a good time to be specific about what your needs are and ask them how you would achieve specific metrics/reports that you currently rely on with RCE using Bizible. They can help validate feasibility or at least highlight any gaps so you are informed going into your implementation.