Smart Attribution
Overview
This feature is currently in Alpha.
Smart Attribution is a multi-touch attribution system that distributes conversion credit across customer journey touchpoints using a Position Based model (the only model available in v1). It supports global rules and per-platform overrides, with a safe Report Only testing mode.
The system reconstructs journeys from UltraCart Analytics data and applies configurable credit splits. Results are visible today in the Integration Log and BigQuery (Order View integration is planned for a future release).
Where to find it: In the UltraCart backend, go to StoreFront, select your storefront, open Privacy & Tracking, then choose the Smart Attribution tab.
Percentages: all values are stored internally as fractions (e.g., 40% = 0.4) and displayed in the UI multiplied by 100. The default global split is 40 / 20 / 40 (Originator / Assist / Closer).
| Role | Description | Default |
|---|---|---|
| Originator | Credit for the first touchpoint in the journey | 40% |
| Assist | Credit shared among intermediate touchpoints | 20% |
| Closer | Credit for the final touchpoint before conversion | 40% |
Platform Configurations
You can override global settings for individual platforms.
Key Columns
-
Type: Owned or Paid.
-
Originator / Assist / Closer %: Platform-specific weights.
-
Non-Participant %: Credit given to the platform even if it had no touchpoint in the journey (commonly used for owned channels like email/SMS).
-
Fire on Rebill: Enables attribution credit on recurring/rebill events.
Owned vs Paid Behavior
-
Paid platforms (e.g., Google Ads, Meta, TikTok) typically inherit the global split.
-
Owned platforms (e.g., StoreFront Communications, Attentive) use full-value presets so they receive credit in every role they appear in.
Adding Platforms
New platforms appear automatically when related integrations/pixels are enabled. Truly new traffic sources may require backend updates. If you have a new traffic source that is not supported, please contact UltraCart Support.

How Attribution Works (Position Based)
Journey Construction
At order time the system reconstructs the journey by combining the current session with prior sessions (within the lookback window). Touchpoints come from UTMs, dedicated click IDs (gclid, fbclid, ttclid, etc.), Everflow clicks, and page views. They are sorted chronologically and de-duplicated.
Internal site navigation touchpoints are kept for visibility but excluded from credit calculations.
Role Assignment
Roles are assigned positionally:
-
1 touchpoint → 100% Closer.
-
2 touchpoints → First = Originator, Second = Closer (assist portion split between them).
-
3+ touchpoints → First = Originator, Last = Closer, Middles = Assist (shared evenly).
Missing roles in short journeys have their credit redistributed to the touchpoints that are present (capped at 100% per platform).
FAQ
Why can per-platform percentages exceed 100%?
This is intentional. Owned channels use full-value (1/1/1) presets so they earn credit whenever they appear. Global splits are strictly 100%, but platform overrides act as role weights.
What is Non-Participant credit used for?
It credits platforms (typically owned channels) that didn’t appear in the journey at all. It is additive and does not reduce credit from other platforms.
How do I test changes safely?
Use Report Only mode. Review full decision details in the Integration Log (narrative plus downloadable smart_attribution_plan.json).
Where can I see the attribution results?
-
Integration Log – best for individual orders (full journey, roles, math, and decisions).
-
BigQuery – uc_orders.smart_attribution record for bulk analysis.
Can one platform take more than 100% of an order?
No. Per-journey platform credit is capped at 100%.
What happens if a journey has no matching touchpoints?
Credit redistributes according to the rules. Non-Participant credit can still apply to configured platforms.
How are platforms identified?
Primarily by click IDs, dedicated hit types, then UTM synonym tables. Unmatched traffic is treated as organic.
Are raw journey details available?
Yes. Full touchpoint-level data (role, revenue share, UTMs, click IDs, etc.) is stored and queryable.
Does this affect my live platform payouts today?
No. Live payouts would only change in Active mode, which is planned and not yet available. Report Only lets you audit what would be sent.
Can I add completely custom platforms?
Config rows can be added for detected integrations. New traffic sources generally require backend updates to be recognized.
Related Documentation
-
Storefront Privacy & Tracking – parent section overview.
-
Google / Bing Offline Conversion Tracking – server-side conversion feeds for paid search.
-
Facebook Analytics & Custom Audiences – Meta pixel and audience tracking.