Introducing the Attribution Data App: Rapidly deliver accurate paid marketing attribution

Blog Banner

Data teams often tell us that their company’s marketing problems are actually data problems at the root. Nowhere is this more true than marketing attribution.

Like many use cases, attribution sounds simple at face value: I spent X dollars on Y campaign, and I want to know how much revenue it drove (or didn’t). The basic math is easy, but getting the right numbers into the equation is a huge challenge with modern, complex customer journeys.

Customers can engage with you on multiple platforms – your own apps, websites, and social media pages. They can interact with your ads across multiple paid platforms, which are separate, closed ecosystems. When they convert, you want to track campaign performance across multiple types of events, which are often recorded in different systems (like your marketing site and transactional database).

This web of touchpoints creates a massive puzzle that no SaaS platform can solve. Data teams are often called in to untangle the mess and help marketing teams understand the ROI of their advertising dollars.

If you’re sinking time modifying your attribution SQL query for an endless list of edge cases and new data sources, we know your pain. We’ve been there, and we don’t want to go back.

Today, we’re introducing our Attribution Data App, which solves for modeling at the identity graph level and will significantly reduce the time it takes you to ship accurate, trustworthy first and last-touch paid attribution reporting.

Attribution is an identity resolution problem

In fact, solving for attribution requires solving multiple identity resolution problems.

First, you have to solve identity resolution for the entity you want to report on, which is often a user, account, or household who engages with you in some way, then signs up for or purchases your product. A clean identity graph is critical to ensure you aren’t double-counting or under-counting conversions, which causes inaccurate reporting in best-case scenarios but usually leads to significant wasted budget. This baseline identity graph is a massive undertaking in itself, especially when you start modeling behavioral events across multiple platforms (mandatory for computing a user’s first and last touch). We built our Profiles product to solve this exact problem.

Second, you have to build an identity graph for your campaign. While creating an identity graph for a campaign might seem funny, you’re probably already backing into this type of modeling with gnarly CASE statements and CTEs. When you ETL data from multiple ad platforms into your warehouse, each platform provides campaign performance tables that include diagnostic data like spend and impressions, plus the URLs for each ad which contain the UTM parameters representing your marketing team’s campaigns. When a campaign spans multiple platforms, you have to resolve that campaign’s ‘identity’ across multiple tables, often with multiple identifiers like UTM parameters, campaign IDs, and even discount codes (which live on purchase events).

Join those two identity graphs, pivot by campaign, and voila! you have clean, accurate attribution data. Unfortunately, it’s not that easy. Anyone who’s ever worked on a hand-rolled attribution solution knows how big of a lift it is. We’ve done it ourselves at RudderStack and witnessed our customers wrestling with the problem firsthand, so we built a solution to make it easier.

"Before Profiles if you asked Marketing whether or not they had the confidence to cut paid spend by 75% without sacrificing throughput, absolutely not. It would have been impossible. But now with Profiles, that's exactly what they’ve done."

Nitt Chuenprateep


Head of Data and Analytics at Shippit

Deliver paid marketing attribution data fast

Our Attribution Data App is a config-based tool built on top of RudderStack Profiles that generates and runs all of the SQL required to produce first and last-touch attribution for paid campaigns. The model itself, as well as the SQL, are fully transparent and run as scheduled jobs in your warehouse. The model generates critical, report-ready attribution data, including:

  • Total views by campaign
  • Total first and last touch conversions
  • Cost per first and last touch conversion
  • First and last touch ROAS

How the Attribution Data App works

You use our code-based workflow to define your inputs in a powerful config. Once you set all the values in the config, you run the job, and the Attribtuion Data App produces a comprehensive output table that your analysts can use to start building reports for any tool or use case.

Entity ID graph — Because the Attribution Data App runs on Profiles, it has direct access to the resolved identity graph for the entities your marketing team wants to report on. You simply import the Profiles entity you want to run attribution against.

For account and household entities, the Attribution Data App will automatically compute the first and last touch across multiple users (accounts often have first and last touches from different people).

Campaign stitcher — Point at the tables that contain campaign data, set the column names for campaign identifiers (UTMs, campaign IDs, discount codes, etc.), and the Attribution Data App will build a comprehensive, cross-platform data set for each marketing campaign. You can even include malformed UTM parameters as campaign IDs, automating a significant amount of data cleanup.

You can use our templates to move even faster. We’ve already mapped the most common campaign identifiers for Facebook, Google, and LinkedIn data from FiveTran and Airbyte (with more on the way!).

Configurable journey touchpoints — Point at the tables that represent customer journey events, and the Attribution Data App will automatically construct the chronological list of touchpoints used to determine the entity’s first and last touch.

Have a New data source? Just add it to your Profiles and Attribution configurations, and those events will automatically be included in the journey touchpoints the next time the model runs.

Conversion and conversion window definitions — Set one or multiple conversion events to report on, and the Attribution Data App will compute attribution for those conversions against each campaign you’ve defined. Optionally, if your conversions have a value (from events like `order_completed`), you can set the name of the column and the Attribution Data App will automatically generate total campaign value (i.e., revenue), as well as ROAS. Optionally, you can configure the conversion window (the default setting is 90 days).

Output table format

Here’s a breakdown of the output table format. We generate the data set on a daily level, giving you the ability to build flexible reporting for any time period your marketing team wants to analyze.

ColumnDescriptionSample ValueData Source
DATEConv date 19 July 2024
CMPGN_IDCanonical cmpgn ID (generated by stitcher)rid033e88...Profiles
UTM_CAMPAIGNCmpgn nameCMPGN_87_NBUSPAd/event tables
IMPRESSIONSDaily impressions364Ad tables
CLICKSDaily clicks112Ad tables
COST (A)Daily ad spend$119.27Ad tables
CNT_DISTINCT_VIEWSUnique clicks76Event tables
CNT_TOT_VIEWSTotal page views102Event tables
FIRST_TOUCH(B)First-touch attributed conv3Event tables
LAST_TOUCH_COUNT(C)Last-touch attributed conv2Event tables
FIRST_TOUCH_CONV_VAL(D)First-touch conv value$200.00Event-stream/pymt platform
LAST_TOUCH_CONV_VAL(E)Last-touch conv value$150.00Event-stream/pymt platform
FIRST_TOUCH_COST_PER_CONVFirst-touch CAC$39.76Calculated
LAST_TOUCH_COST_PER_CONVLast-touch CAC$59.64Calculated
FIRST_TOUCH_ROASFirst-touch RoAS.94Calculated
LAST_TOUCH_ROASLast-touch RoAS1.26Calculated

Get started

Attribution analytics are complex, time-consuming, and hard to maintain – all because of the underlying identity resolution challenges. With Profiles and the Attribution Data App, you can solve the problem at the root and deliver accurate, deduplicated data sets that give your marketing team full clarity on the first and last touch impact of their paid campaigns.

To learn more about how RudderStack can help you support marketing with comprehensive, trustworthy data, check out the docs for Profiles and the Attribution Data App. To see the Attribution Data App in action, request a demo with our team.

Deliver paid marketing attribution data fast
With RudderStack Data Apps, you can deliver high-ROI data projects on top of your customer 360 in days, not months
September 19, 2024
Eric Dodds

Eric Dodds

Senior Director of Product Strategy