Completions

For attribution + RevOps + analytics leadership

One attribution model for the whole brand misses what each market is actually doing

Phoenix runs on Meta. Tampa runs on Google. Quebec runs on organic social. A brand-wide attribution model fits the aggregate and matches no individual market accurately. Per-location attribution models fit per market against per-location offline signals.

By Jay Christopher11 min read

What this gets you

  • One attribution model fit per market — not one brand-wide model that averages across three structurally different channel mixes.
  • 3 offline-signal inputs — POS receipts, call tracking, foot traffic — feeding each per-location model independently of the ad-platform-only attribution data.
  • 2 parallel processes — Marketing Mix Modeling at brand level cross-validating against per-location attribution models. Disagreement between the two surfaces structural drift, not noise.
  • Cohort-prior handling for new openings — locations under 90 days fit against priors from comparable openings before the model transitions to location-specific history.
  • Per-location rollup feeding corporate dashboards — each location’s attribution rolls into the broader rollup-reporting pipeline (cross-link to /cohort-framed-kpi-rollup + /quarterly-board-deck-generation).

Three structurally different channel mixes do not average into one truth

Multi-touch attribution platforms (Northbeam, Triple Whale, Rockerbox, Wicked Reports, AppsFlyer, Branch, Mass Analytics) ship one brand-wide model. The model integrates ad-platform data across Google, Meta, TikTok, LinkedIn, Snap, and Pinterest; fits an attribution algorithm (first-touch, last-touch, linear, time-decay, or data-driven); and produces per-channel credit attributions at the brand level. The platforms are excellent at this.

The brand-wide model fails when channel mix varies by market. The Phoenix franchise gets 40% of conversions from Meta and 20% from Google. The Tampa franchise gets 25% from Meta and 45% from Google. The Quebec franchise gets 60% from organic social and 10% from paid. Three structurally different customer-acquisition realities. The brand-wide model fits to the aggregate — which is the mathematical average of three different markets — and produces attribution credit that matches no individual market accurately.

Budget decisions made from brand-wide attribution cascade into per-market mistakes. Phoenix gets under-funded on Meta because the brand-wide average says Meta is less important than it actually is for Phoenix. Tampa over-funds Meta for the same averaging reason. The mistakes compound silently because the brand-wide attribution dashboard never disagrees with itself; it confidently averages across markets and produces stable, plausible, structurally-wrong numbers.

Per-location attribution models fit one model per market. Three offline-signal inputs (POS receipts + call tracking + foot traffic) feed each per-location model independently. Brand-level Marketing Mix Modeling runs in parallel as a cross-validation check. Where MMM and per-location models agree, the attribution is trustworthy; where they disagree, the disagreement surfaces structural drift in either the channel-mix shift or the model fit. Per-location rollup feeds corporate dashboards with both the per-location view and the cross-validated brand view.

What is in market — and what each category leaves to you

The multi-touch attribution canvas is mature. The per-location model fitting, offline-signal integration, and dual-process cross-validation are operator-side wiring.

Multi-touch attribution — Northbeam, Triple Whale, Rockerbox, Wicked Reports, Ruler Analytics

Excellent at brand-wide multi-touch attribution with deep ad-platform integration. They support segment-level reporting but the per-market model fitting and offline-signal integration are operator-built on top.

Mobile attribution — AppsFlyer, Branch, Adjust, Kochava

Strong on mobile-app attribution at scale. The multi-location physical-presence side (in-store visits, phone calls, POS receipts) is adjacent; per-location model fitting against offline signals is operator-side.

MMM platforms — Mass Analytics, Robyn (open source), Marketing Evolution, Nielsen Marketing Cloud

Strong on Marketing Mix Modeling at brand level with statistical rigor. Per-location MMM is possible but rare; the dual-process cross-validation (per-location attribution model running alongside brand-level MMM) is the integration this pillar provides.

Offline signal sources — CallRail, Placer.ai, SafeGraph, POS providers (Toast, Square, Lightspeed)

Strong on the input side — call tracking (CallRail / CallTrackingMetrics / Invoca), foot traffic (Placer.ai / SafeGraph), POS receipts (Toast / Square / Lightspeed). The attribution model that consumes these signals per location is operator- built.

Ad-platform native attribution — Google Ads, Meta Ads Manager, TikTok Ads

Each platform reports its own attribution model scoped to its own platform. Cross-platform reconciliation and per-location segmentation are not in the native tooling.

The pipeline, end to end

  1. 3-input offline-signal layer. POS receipts (Toast, Square, Lightspeed, Clover) + call-tracking (CallRail, CallTrackingMetrics, Invoca, DialogTech, WhatConverts) + foot-traffic (Placer.ai, SafeGraph, Near). Each input emits canonical conversion events tagged with location ID and timestamp.
  2. Identifier resolution. Each offline signal resolves to the canonical customer record (cross-link to /behavioral-cohort-computation customer-graph). Phone number, transaction ID, device fingerprint, or POS loyalty ID map back to the customer across signals.
  3. Ad-platform conversion-event ingestion. Conversions API emissions to Google Ads, Meta CAPI, TikTok Events API, LinkedIn, Snap, Pinterest (cross- link to /attribution-event-emission) feed back into the attribution pipeline as platform-side conversion signals.
  4. Per-location attribution model fitting. One model per market fits against the per-location subset of conversions plus the offline-signal inputs. Model class (first-touch / last-touch / linear / time-decay / data-driven) configurable per market; most operators default to data-driven with first- touch fallback for low-volume locations.
  5. Marketing Mix Modeling at brand level. MMM runs alongside the per-location models with the same input signals but aggregated to brand scope. MMM provides the cross-validation check — where it agrees with per-location models, attribution is trustworthy; where it disagrees, structural drift surfaces.
  6. Dual-process cross-validation. Disagreement between MMM and per-location models surfaces as alerts to the analytics team. Disagreement is often diagnostic — a channel mix shift the brand- wide MMM has not yet adapted to, or a per-location model that is over-fitting recent data.
  7. New-opening cohort priors. Locations under 90 days fit against cohort priors from comparable openings (similar vertical + urban density + demographic profile + season). The prior decays as location-specific data accumulates.
  8. Attribution-window calibration. Google 30-day, Meta 7-day, TikTok 28-day, organic 90-day. Per-platform attribution windows respected in the model fit; cross-platform reconciliation handles overlapping windows.
  9. Per-location attribution rollup.Each location’s attribution rolls up to the broader rollup-reporting pipeline (cross-link to /cohort-framed-kpi-rollup and /quarterly-board-deck-generation). Corporate dashboards show both per-location attribution and brand-level MMM cross-validated view.
  10. Model validation. Hold-out test sets per location measure predicted vs actual attribution at 30, 60, 90-day windows. Model accuracy degradation surfaces drift before downstream budget decisions cascade.
  11. Audit trail + replay. Every model fit logged with input signals, fitted weights, predicted conversions, and validation metrics. Replay supports A/B testing of model classes and structural changes.
  12. Per-location budget recommendation. Per-location attribution feeds budget recommendations back to the paid-media team. The recommendation respects per-platform attribution windows + per- location channel-mix realities + brand-wide MMM cross-validation.
  13. Failure-mode handling. Low-volume locations (under 50 conversions/month) fall back to cohort-prior attribution rather than fitting their own model. Seasonal events (Black Friday, regional holidays) trigger model snapshots before the event so attribution survives the spike without overfitting.

Frequently asked

What is attribution tracking?

Attribution tracking is the discipline of crediting marketing channels with the conversions they produced. A customer who saw a Meta ad, clicked a Google search ad, walked into a location, and called a tracked phone number generated four touchpoints that some combination of channels should receive credit for. The attribution model decides how to split that credit — first-touch (all to Meta), last-touch (all to the call), linear (split evenly across all four), time-decay (more credit to recent touchpoints), or data-driven (a model fits the optimal split against historical conversions).

Why does one brand-wide attribution model fail at multi-location operators?

Channel mix varies by market. The Phoenix franchise gets 40% of conversions from Meta and 20% from Google; the Tampa franchise gets 25% from Meta and 45% from Google; the Quebec franchise gets 60% from organic social and 10% from paid. A brand-wide model fits to the aggregate — which is the average of three different markets — and produces attribution credit that matches no individual market accurately. Per-market budget decisions made from brand-wide attribution are systematically miscalibrated.

How is this different from Northbeam, Triple Whale, Rockerbox, or Wicked Reports?

Those platforms own the multi-touch attribution layer at brand level — they integrate ad-platform data, fit attribution models, and surface dashboards. They are excellent at the brand-wide model. The per-location model fitting (a separate model per market with its own channel mix and conversion history), the offline-signal integration (POS receipts + call tracking + foot traffic feeding each per-location model independently), the MMM cross-validation against per-location models, and the per-location rollup to corporate dashboards are operator-side wiring above whichever attribution platform you license.

What is the Fan-in-with-parallel-process topology?

Three offline-signal inputs (POS receipts + call tracking + foot traffic) fan in to two parallel processes — Marketing Mix Modeling (MMM) running brand-wide attribution and the per-location attribution model running market-specific attribution — both feeding one rollup output. The dual-process layer is the structural extension over the single-process Fan-in pipeline. It lets corporate-level MMM and per-location-level models cross-validate against each other rather than competing for the same attribution credit.

How do you handle attribution for new openings?

New locations have no historical attribution data, so the per-location model has no training set. The pipeline uses cohort priors from comparable openings (similar vertical, similar urban-density, similar demographic profile) until the new location accumulates roughly 90 days of conversion history. The cohort prior decays as location-specific data accumulates; by month 6 the model fits primarily on the location’s own history. The same handling applies to dormant locations that reactivate after a closure.

How does this integrate with the iOS 14 + cookie attribution work?

Cleanly. Per-location attribution models consume the conversion signals the attribution-event-emission pipeline (cross-link to /attribution-event-emission) produces. Each per-location model fits against the per-location subset of conversions emitted to Google + Meta + TikTok + LinkedIn + Snap + Pinterest via the Conversions API. The platform-side conversion data plus the offline-signal inputs (POS + call + foot traffic) together produce the per-location attribution view that ad-platform bidding optimizes against.

Hire the agent that fits the models

The offline-attribution-intelligence agent owns the 6-stage Fan-in-with-parallel-process pipeline — POS + call + foot-traffic inputs feeding MMM + per-location attribution models in parallel, rolling up to per-location attribution dashboards and per-location budget recommendations.

We scope on the call and send a private checkout link after.

Related reading: iOS 14 + cookie attribution · Cohort-framed KPI rollup