Skip to main content
Reference

Smart Attribution

Overview

note

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.

info

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).


RoleDescriptionDefault
OriginatorCredit for the first touchpoint in the journey40%
AssistCredit shared among intermediate touchpoints20%
CloserCredit for the final touchpoint before conversion40%

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.

image-20260715-130240.png


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.


Was this page helpful?