ServicesAboutNotesContact Get in touch →
EN FR
Note

Attribution Channel Grouping Strategy

How to group marketing channels for data-driven attribution -- balancing granularity against data sparsity to produce stable, actionable model results

Planted
bigqueryanalyticsdata modeling

Channel grouping decisions have an outsized impact on data-driven attribution results. The choice between “Paid Social” as one channel versus “Facebook Ads” and “LinkedIn Ads” as separate channels changes your Markov chain transition matrices, your Shapley value coalitions, and ultimately the budget recommendations your model produces.

Too granular a grouping produces sparse matrices with unreliable probabilities; too coarse a grouping hides meaningful channel differences.

Start broad, add granularity later

Begin with 5-10 high-level channel groups. Too many channels produces sparse transition matrices where many cell values are zero or based on a handful of observations. A transition probability computed from 3 observations is noise, not signal.

A reasonable starting point:

Channel GroupIncludes
Paid SearchGoogle Ads search, Bing Ads search
Paid SocialFacebook/Instagram Ads, LinkedIn Ads, TikTok Ads
Organic SearchGoogle organic, Bing organic
Organic SocialFacebook organic, LinkedIn organic, Twitter/X organic
EmailAll email campaigns and automations
DirectDirect/none traffic
ReferralNon-social referral traffic
DisplayDisplay ads, programmatic
AffiliateAffiliate/partner channels

Once you’ve validated model stability at this level, you can increase granularity where the data supports it. If Paid Social drives significant volume, splitting it into Meta Ads and LinkedIn Ads might reveal meaningful differences in how those channels contribute to conversions. But do this incrementally and check that the resulting transition matrices remain stable.

The 2% rule for low-volume channels

Collapse low-volume channels — those contributing under 2% of total touchpoints — into an “Other” category. These channels don’t have enough data to produce reliable transition probabilities or Shapley marginal contributions.

This isn’t permanent. As data accumulates, a channel that was “Other” last quarter might cross the 2% threshold this quarter and warrant its own group. Review your channel groupings quarterly as traffic patterns shift.

The 2% threshold is a practical guideline, not a hard rule. The real criterion is whether a channel has enough transitions to estimate probabilities reliably. With 10,000 total touchpoints, a 2% channel has 200 touchpoints — probably enough for a first-order Markov model. With 1,000 total touchpoints, a 2% channel has 20 touchpoints — not enough.

Grouping decisions change model results

Consider a concrete example. You run Markov attribution with “Paid Social” as one channel and it gets a 15% removal effect. Then you split it into “Facebook Ads” (12% removal effect) and “LinkedIn Ads” (8% removal effect).

The split results don’t sum to the aggregate. That’s expected — the combined channel’s removal effect accounts for substitution between Facebook and LinkedIn. When you remove all of Paid Social, users can’t switch from Facebook to LinkedIn; both are gone. When you remove only Facebook, some of those users still encounter LinkedIn.

This means your channel grouping isn’t just a cosmetic decision. It changes the model’s interpretation of channel interdependence. Choose groupings that match the level at which you make budget decisions. If you allocate Paid Social budget as a single line item, model it as one channel. If Facebook and LinkedIn have separate budgets and separate teams, model them separately — but make sure each has enough data.

Impact on Shapley value computation

Channel grouping matters even more for Shapley values than for Markov chains. Every additional channel doubles the number of coalitions: going from 8 channels (256 coalitions) to 12 channels (4,096 coalitions) increases computation 16x.

This creates a practical ceiling on granularity. With Shapley values, you’re incentivized to keep channel counts low not just for data quality but for computational feasibility. Monte Carlo approximation helps, but more channels still means more samples needed for convergence.

If you need both granularity and Shapley’s fairness guarantees, consider a hierarchical approach: run Shapley values at the channel group level (Paid Social, Organic, Email, etc.), then use a simpler model like linear or position-based attribution to distribute each group’s share among its sub-channels.

Consistency across models

Whatever channel grouping you choose, apply it consistently across all models in your attribution comparison. If your Markov model uses 8 channels and your position-based model uses 12, you can’t meaningfully compare their outputs.

The channel grouping macro in your dbt project is the right place to enforce this. A single macro that maps source/medium pairs to channel groups ensures every downstream model — heuristic and data-driven — uses the same taxonomy.

Pair this with UTM standardization to ensure the raw data feeding your grouping logic is clean. Inconsistent UTM parameters (utm_medium=cpc vs. utm_medium=paid vs. utm_medium=CPC) produce misclassified touchpoints that corrupt your transition matrices before the model even runs.

Iteration cadence

Review and adjust channel groupings on a quarterly basis:

  1. Check volume distribution. Have any “Other” channels crossed the 2% threshold? Have any named channels dropped below it?
  2. Check transition stability. Are transition probabilities stable month-over-month, or do they fluctuate wildly? Wild fluctuation suggests the channel doesn’t have enough data for its current granularity level.
  3. Check business alignment. Has the marketing team started managing a channel separately that was previously bundled? Their budget structure should inform your channel structure.
  4. Validate against incrementality results. If an incrementality test reveals that a channel group’s sub-channels have very different incremental lift, that’s a signal to split the group.

Channel groupings should be stable enough to produce reliable attribution, granular enough to inform budget decisions, and aligned with how the marketing team manages spend.