Multi-Channel Lead Source Tracking demystified

As a marketer, you have been asked multiple times in your carrier so far, how can we enable multi-channel lead source tracking and how can we be able to analyze the effectiveness of a particular channel?

There could have been several reasons why you were not able to achieve multi source tracking, it could be the systems limitation, lack of technical skill, lack of knowledge, lack of technology stack and many more.

Well, if you have Marketo and SFDC, there is a way you can track multi-channel lead source. The technique that we’re going to discuss here, will not only allow you to track the multi-touch source on lead but also on opportunity level. For me it’s like a full proof solution. This is a bit long post as the setup is quite complex, so I would suggest to be patient and read through the complete post. I can bet, you will not regret it.

Without wasting time, let’s dive into the same.


Objective is to be able to track the source of each and every touch point of the lead life cycle. It will allow you to analyze which channel/source/campaign is working for you and which is not. If you are able to do it, it will be a life saver as based on this analysis you will be able to optimize the marketing spend and resource resulting in maximizing the ROI and a great user experience. We will be tracking following for each touch point:

  • Channel
  • Medium
  • Campaign


  1. This solution is for those who are using Marketo and SFDC. I have not used MS Dynamics so not sure how it can be possible there.
  2. You already have a strong first touch source tracking implemented using UTM parameters or other means. You can search Marketo community to learn how to set it up.
  3. Admin rights in Marketo and SFDC

Proposed solution:

The proposed solution is to have some customization within Marketo and SFDC and unlock the absolute necessary feature. You will have to create a few fields in SFDC and Marketo on the lead/contact and Campaign member. You will also have to create program builder or workflow rules within SFDC. So, make sure you have appropriate rights in SFDC and Marketo for the same.

Field Requirement:

Before we dive into creating new fields, let’s just review a few definitions here:

  1. Lead Source: Lead Source is the medium through which you are generating leads. Usually mediums are; Website, Search Engine, Social Media, Paid Ads, Event etc.
  2. Lead Source Details: Lead Source details is your source meaning if you are using Social Media as medium, LSD can be either Facebook, Insta, LinkedIn etc.
  3. Other Lead Source: Other Lead Source is your campaign name. The value of this will be the name of the program you are creating in Marketo.

TIP: Use the same campaign name throughout the different systems meaning if you are creating campaign in FB, program in Marketo and camping in SFDC, all of these should have the same name. This will allow you to easily merry the data from different systems if you wanted to see a holistic view of your campaign performance.

SFDC/Marketo Field Requirement

  1. SFDC Lead/Contact (Make sure to have the conversion mapping for these fields)
    • FT – Lead Source
    • FT – Lead Source Details
    • FT – Other Lead Source
    • LT – Lead Source
    • LT – Lead Source Details
    • LT – Other Lead Source
      (FT – First Touch, LT – Last Touch
  2. Campaign Member: (You must be wondering why to create these custom fields on Campaign member object. Believe me, you will need it. Just follow along and you will see.)
    • Lead Source
    • Lead Source Detail

How will it work?

Step 1: Defining Source/Channel

First of all, you have to define a list for your channels like Website, Social Media, Search engine etc. Once you are done with that then map your source fields with utm parameter. Following is what I would suggest:

  1. Lead Source à utm_medium (e.g. Website, Social Media, Search engine)
  2. Lead Source Details à utm_source (web-direct, web-indirect, FB, Linkedin, Google etc.)
  3. Other Lead Source à utm_Campaign (the name of the campaign/program name of Marketo)

Step 2: Capture Data on Marketo form

Use hidden fields on the form and capture the utm parameters in respective fields. As I mentioned earlier, we will be capturing “First Touch” and “Last Touch” with this technique. So, on the form add the “Last Touch” fields as hidden fields and map those with UTM_Parameters. How you will be capturing the “First Touch”, I’ll explain that in the next step.

Step 3: Capturing the First Touch and Last Touch in Marketo

  • Block the field update of the “First Touch” fields from all sources except the “Flow Action”.
  • Upon form submission, Marketo will capture all these tracking data in last touch fields.
  • Create a central smart campaign to copy the “Last Touch” tracking data in to the “First Touch” tracking fields, if the first tracking fields are empty. (Obviously for new leads, First Touch and Last Touch will be same.)
  • Sync the lead to SFDC and then add to appropriate SFDC campaign from smart campaign directly. You should not be syncing the program with SFDC campaign directly, you will face some data issue otherwise.
  • Now, in Marketo as well as in SFDC, you have “First Touch” and “Last Touch”

You must be saying, I promised to give you multi-touch not just FT and LT? No worries, just follow the next steps and you will get multi-touch source.

Step 4: Capturing Multi-Touch:

Remember, in the field requirement, I asked to have 2 custom fields on Campaign member object. You must be wondering on the usage of the same. Well, you will be capturing the multi-touch source through those fields itself.

Now, if you have created these 2 custom fields and also have completed the process until step #3, you are ready to move to multi-touch.

In layman terms, you have to have a logic in SFDC to copy the last touch source data on campaign member object.

As I mentioned earlier, you have to have one campaign per marketing initiative to make this work. Let’s take an example and see how this will actually work.

John is interested in your product and was interacting with your different campaigns overtime. Below are some different touch points with the respective source.

In the above example, as you can see the First Touch is “Google” and it remains same throughout the above journey while the last touch keep changing with the different campaign interaction. So, on the lead, the First Touch is “Google” but the last Touch is “Email”

But since the source is different for different campaigns and for each campaign we will have campaign member, we can copy the last touch point of the lead on campaign member. So, the data on campaign member will look like below:

With this, on lead level you will see First Touch i.e.  “Google” and last Touch i.e. “Email” but on campaign member you will have source of all of the touch points.

To copy the data from Lead’s last touch source fields to campaign member fields, I would suggest to use “Process builder” in SFDC.

Once you are done with these 4 steps, you can create campaign member reports in SFDC to understand which source is most popular, which type of campaigns are working for you and if you have proper campaign to opportunity influence setting, you can even see the impact of a particular source to opportunity as well. Hope this will help but feel free to reach out to me in case you have any

One thought on “Multi-Channel Lead Source Tracking demystified”

  1. Great post! Very helpful, could you elaborate on why “You should not be syncing the program with SFDC campaign directly, you will face some data issue otherwise.”

    I’ve been syncing Marketo programs and Salesforce campaigns historically and I’m trying to wrap my head around the possible data issues with this method and what negative impacts (specifically regarding the implementation your recommendations for FT/LT) syncing programs with campaigns will have?



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s