How We Built Marketing Channel Attribution Dashboards in Grow

You're using Google Analytics to know what marketing channels are driving visitors to your website, but are you able to identify which of those marketing channels and campaigns are actually responsible for bringing in the most leads and customers?

If you can't really tell, then you may just be wasting your marketing resources. You won't be able to determine what channels are working and which ones aren't, making it more difficult to know how to meet your goals and grow the business.

Don't fret - there's a solution.

At Simul, we were in the same position. We could see in Google Analytics what channels and campaigns were bringing us visitors, and the basic Goal tracking we had setup could kind of tell us how many leads we got, but we had no idea what the quality of those leads was, which one’s converted into deals & customers, and how much revenue we were making through the various channels.

So we set out on a mission to implement a full-funnel marketing attribution system using Grow. Here’s how we did it:

What is full-funnel marketing attribution?

Full funnel Marketing channel attribution is the practice of measuring your marketing channels and campaigns all the way through to paying customer & revenue, as opposed to just measuring which channels and campaigns are driving traffic to your website.

Our 3-part framework for attribution

When we decided we needed to get a full-funnel marketing attribution system up and running, we sat down and thought about how we wanted to attribute leads and basically broke it down into 3 questions we wanted to be able to answer:

  • How did they get to our website
  • What attracted them there?
  • How did they convert into a lead?

Based on this, we developed a 3-part attribution framework that looks a bit like this:

Here’s a breakdown of each part:

  • Channel - This shows how people got to your website (I.e. Paid search, Organic Search, Paid Social, etc). 
  • Landing Page - This shows what content on your website attracted them there (I.e. Blog posts, Product pages, etc)
  • Lead Source - This shows how the person converted into a lead (I.e. Requesting a demo, signing up for a free trial of your product, downloading content, etc)

Beyond the high-level information (I.e. This lead came from Paid Search), we also knew it would be useful to be able to drilldown into further detail on each part, so we came up with a hierarchy of fields to capture all the data we need. It looked a bit like this: 

  • Channel - Beyond just Channel, we also added other fields to capture related information as well, including Channel Drilldown 1, Channel Drilldown 2 and Channel drilldown 3. This is because in order to make proper decisions on your marketing initiatives, you need further level of detail. For instance, if it’s Paid Search we capture the search engine (I.e. Google) in drilldown 1, the campaign in drilldown 2 and the ad name in drilldown 3. 
  • Landing Page - Beyond just landing page URL, we also knew it would be useful to capture landing page group as well. This is because often you want to understand the performance of certain groupings of pages as a whole (I.e. your blog) rather than just the individual pages. So by capturing both landing page and landing page group, you can assess the performance of your blog as a whole as well as being able to drilldown into the performance of each individual blog post. 
  • Lead Source - It can be useful to capture multiple levels of Lead Source as well. As an example, for sales enquires that come through you might have Lead Source = Sales Enquiry and Lead Sub Source = Request a Demo or Phone Call. Or if it’s a white paper download you might have Lead Source = Content and Lead Sub Source = Name of content piece. This way, you can look at things like the conversion rate to Deal and Customer by different lead sources (Content downloads vs Sales Enquiries) as well as drilldown into the performance of individual forms and content pieces. 

How We Get Marketing Channel Attribution Data into Grow

With the right tools, it was easy to get a full business intelligence stack up and running without the need for data engineers or developers. Here’s how we did it:

1. Tagged All of Our Campaigns

The first thing we did to start tracking marketing channel attribution data was to add UTM parameters to our ads and campaigns. Virtually all analytics tools rely on UTM parameters to understand traffic coming from paid channels (like Facebook Ads, Google Ads, etc), so this was a critical first step regardless of what technology we used.

UTM Parameters can seem a bit technical and overwhelming, but fortunately there are tools like Google Campaign URL Builder which makes it super easy to enter the information and get back a properly formatted URL with UTM parameters attached.


We added UTM parameters to all of the ads and campaigns we were running. This included on social media platforms like Facebook, LinkedIn, Instagram, and Twitter, as well as on search engines like Google and Bing. We even made sure we were using them on bespoke campaigns as well, such as advertisements we were doing in trade publications, email campaigns, etc.

2. Captured Attribution Data

After looking at the different options, we ended up using a simple marketing attribution tool called Attributer.io to capture the Channel and Landing Page information. 

Attributer is basically a small script that you place on your website that looks at things like UTM parameters, referring site, device types, etc to ascertain what channel the user came from (I.e. Paid search). 

It also captures the landing page and landing page group based on the URL structure (so if the landing page was grow.com/blog/how-to-use-grow then the landing page group would be ‘blog’)

Finally, when someone fills out and submits a form on our website, it sends the Channel and landing page data into our CRM along with the other information entered into the form (like the leads name, email, etc). 


3. Connect Grow to Our CRM & Advertising Tools

We use Hubspot as our CRM at Mandoe Media, so it was simple to connect Grow and pull all of our sales data in.

Similarly, our main advertising sources are Facebook Ads & Google Ads, both of which grow integrates directly with so it was super simple to pull that information in.

As a marketer who is relatively tech-savvy (but not enough to setup data warehouses in AWS), the fact that Grow provides an all-in-one solution for extracting data and warehousing meant I could do all of this myself with the need to get data engineers or anything involved.

The Dashboards We Built to Understand Marketing Performance

Avinash Kaushik, the author of Web Analytics 2.0 and a Digital Analytics Evangelist at Google, once talked about how your analytics are like a pyramid.



At the top of the pyramid, you have your KPI’s. These are the main metrics your organization or team are working on and should be the primary thing you track. 

The next level down are your secondary metrics, these are the main inputs to your KPI’s that you need to understand and track to ensure you hit your KPI’s. 

The third level are related metrics which are useful to know if you need to do a deep dive, but aren’t necessarily things you need to track on an ongoing basis.

Based on this pyramid, we decided to build the following dashboards:

  • KPI’s - We built a marketing dashboard that covers off our top level KPI’s and gives us a high level overview of how we’re performing month over month.
  • Secondary Metrics - Facebook Ads, Google Ads & SEO are the 3 main drivers of new customer acquisition for us, so we built dashboards for them so we can track the main metrics in each of these channels.
  • Associated metrics - We decided not to build dashboards for these, and instead if we ever needed to dive down to this level of detail we would go into the individual platforms and tools (I.e. Facebook Ads, Google Ads, AHREFS for SEO, etc) to get what we need.

Here’s a more detailed view at some of our dashboards:

Marketing Dashboard

As you can see in the screenshot above, this dashboard tracks the key KPI’s of the Marketing team, including the number of leads, deals, customers & revenue generated through marketing activities. It also breaks each metric down by Channel, so we can see at a high-level how our various channels are contributing to the KPI’s and any changes that may happen over time.

Facebook Ads Dashboard

The Facebook Ads dashboard is part of a series of dashboards in the ‘secondary metrics’ tier of the analytics pyramid, in that it shows us detailed information about how our Facebook Ads are performing and how they’re contributing to our KPI’s.

As you can see in the screenshot above, we can see how many impressions, clicks, leads, deals, customer & revenue we generate from our ads, as well as a breakdown of those by campaign.

We’ve also overlayed cost & ROI metrics on them which allow us to see our Cost Per Lead, Cost Per Customer, etc.

This information helps us make better decisions within our Facebook Ads efforts and ultimately helps us achieve the overall marketing KPI’s.


Wrap Up

By using tools like Grow, Hubspot and Attributer.io we’ve been able to implement a full funnel marketing attribution system that not only helps us track how we’re going against our KPI’s, but also show us exactly what’s driving our successes and failures and most importantly, what needs to happen in order to hit our goals.

Best of all, we were able to build this whole system ourselves without writing a single line of code or needing a data engineer.


Browse Categories
Recent Articles
Explore the Latest Technology Trends in Business Intelligence

Explore the Latest Technology Trends in Business Intelligence

View Article
Grow has a local Data Center in the UK!

Grow has a local Data Center in the UK!

View Article
What are the benefits of Low Code No Code Software compared to Traditional BI Software?

What are the benefits of Low Code No Code Software compared to Traditional BI Software?

View Article
Join the 1,000s of business leaders winning with grow.

Request a free trial & unlock the answers hiding in your data.