A meaningful pre-conversion event: ad click, campaign landing, email or SMS engagement, organic/referral visit, CRM/source signal, or direct visit.
Every attribution model in EVENTS Gateway
Attribution answers one practical marketing question: which touchpoint deserves credit for a conversion? EVENTS Gateway computes every supported model for the same conversion path, then lets the selected default model drive the main view.
Touchpoint to conversion to model result.
The attribution layer keeps the marketing explanation compact while preserving the technical evidence behind it.
The layer links touchpoint to conversion using journey ID, identity ID, visitor ID, session ID, Shopify customer ID, hashed email, or customer hash.
Purchase, Lead, Subscribe, CompleteRegistration, Contact, SubmitApplication, Schedule, StartTrial, or Donate.
Each model produces a winner and credit rows. The selected default model controls the main reporting view.
Destination delivery attempts, accepted counts, failures, and errors are attached so attribution can be reconciled with platform delivery.
8 attribution models are supported.
Use single-touch models when one winner is enough. Use multi-touch models when assists matter and revenue should be split across the path.
last_non_directLast non-direct
Credits the latest eligible touchpoint that is not direct. Direct remains visible but does not overwrite campaign context.
- Credit logic
- 100% credit to the latest eligible non-direct touchpoint. Direct can still appear in the path, but it does not overwrite campaign context when a campaign touch exists.
- Best for
- Daily ecommerce reporting, paid media reconciliation, and teams that want a stable default view.
- Watch out
- If the only matched touchpoint is direct, direct can still be the fallback winner.
first_touchFirst touch
Credits the first known eligible touchpoint in the lookback window.
- Credit logic
- 100% credit to the first eligible non-direct touchpoint in the lookback window, falling back to the first touchpoint when no campaign touch exists.
- Best for
- Understanding which channel introduced the customer, especially prospecting and top-of-funnel campaigns.
- Watch out
- It can overvalue early discovery and undervalue retargeting, email, or checkout recovery.
last_touchLast touch
Credits the latest known touchpoint before the conversion, including direct.
- Credit logic
- 100% credit to the last known touchpoint before conversion, including direct traffic.
- Best for
- Short funnels, local campaigns, support-assisted conversions, and teams that want the immediate closer.
- Watch out
- Direct traffic can win even when an earlier campaign created demand.
first_paid_touchFirst paid touch
Credits the first paid touchpoint with paid media evidence.
- Credit logic
- 100% credit to the first paid touchpoint with paid media evidence.
- Best for
- Prospecting analysis, creative testing, and seeing which paid channel created initial demand.
- Watch out
- Organic, email, SMS, and referral touches do not win this model.
last_paid_clickLast paid click
Credits the most recent paid click before the conversion.
- Credit logic
- 100% credit to the most recent eligible paid click before conversion.
- Best for
- Paid media optimization, bid feedback, and reconciling ad-platform click-driven reporting.
- Watch out
- If no paid click exists in the matched path, this model has no winner.
linearLinear
Splits credit evenly across eligible touchpoints. Direct is excluded by default.
- Credit logic
- Splits conversion credit evenly across eligible touchpoints. Direct is excluded by default from multi-touch credit when non-direct touches exist.
- Best for
- Longer journeys where several channels assisted the sale and the team wants a neutral split.
- Watch out
- Equal credit is simple, but it may understate the true opener or closer.
time_decayTime decay
Splits credit across eligible touchpoints, with later touches receiving more weight.
- Credit logic
- Splits credit across eligible touchpoints with later touches receiving progressively more weight.
- Best for
- Remarketing, lifecycle, and checkout recovery where recency often matters more than first exposure.
- Watch out
- It can bias reporting toward bottom-of-funnel channels if the journey is long.
position_basedPosition based
Gives most credit to the first and last eligible touchpoints, then splits the middle credit.
- Credit logic
- Gives 40% to the first eligible touch, 40% to the last eligible touch, and splits the middle 20%. With two touches, they split 50/50.
- Best for
- Marketers who want to value both discovery and closing influence while still acknowledging assists.
- Watch out
- Middle touches get less credit, so nurture campaigns may look smaller than their operational value.
Same journey, different attribution answers.
Example path: Google Ads click -> Klaviyo email click -> Direct visit -> Purchase. The model changes the answer, not the underlying event history.
| Model | Winner | Credit | Marketing Use |
|---|---|---|---|
| Last non-direct | Klaviyo email | 100% to the latest non-direct touch. | Best default for campaign reporting. |
| First touch | Google Ads | 100% to the first eligible non-direct touch. | Shows which channel introduced the buyer. |
| Last touch | Direct | 100% to the final touch, including direct. | Shows the immediate closer. |
| First paid touch | Google Ads | 100% to the first paid touch. | Shows paid acquisition origin. |
| Last paid click | Google Ads | 100% to the most recent paid click. | Useful for paid media reconciliation. |
| Linear | Klaviyo email | Google Ads 50%, Klaviyo 50% when direct is excluded. | Shares credit across assists. |
| Time decay | Klaviyo email | Klaviyo receives more credit than Google because it is later. | Values recency and nurture. |
| Position based | Klaviyo email | Google Ads 50%, Klaviyo 50% with two non-direct touches. | Values opener and closer. |
What can become attribution evidence.
A touchpoint is not just a page view. It is any pre-conversion signal that helps explain why the conversion happened.
Paid clicks
Google, Microsoft, Meta, TikTok, LinkedIn, X, Snapchat, affiliate, and other click IDs create paid touchpoints.
Lifecycle signals
Email and SMS opens, clicks, subscriptions, unsubscribes, and source webhooks become source-aware touchpoints.
Campaign landings
UTM source, medium, campaign, campaign ID, adset ID, ad ID, or referrer context can create a campaign touchpoint.
Direct visits
Direct remains visible. The default reporting posture prevents direct from overwriting non-direct campaign context.
CRM/server signals
Server-side lifecycle or CRM events can become touchpoints when they arrive before the conversion.
Conversion events evaluated by attribution.
These canonical conversion events are evaluated as outcomes in the attribution ledger.
PurchaseLeadSubscribeCompleteRegistrationContactSubmitApplicationScheduleStartTrialDonateAttribution includes evidence quality, not just a winner.
The confidence label comes from identity continuity plus campaign proof. High confidence is strongest when multiple first-party and platform identifiers agree.
| Evidence | Strength | Why It Matters |
|---|---|---|
| Journey ID | High | Best continuity when a journey identifier travels across touchpoint and conversion. |
| Identity ID | High | Resolved EVENTS Gateway identity links the path to the conversion. |
| Visitor ID | High | First-party visitor continuity connects anonymous browser behavior to conversion. |
| Shopify customer ID | High | Strong ecommerce proof when the order and customer history share Shopify identity. |
| Hashed email or customer hash | Medium | Useful for lifecycle, CRM, and checkout matching without storing raw PII by default. |
| Session ID | Medium | Good for same-session behavior, weaker for long journeys. |
| Click ID or paid evidence | Boost | Adds confidence when at least one touchpoint carries campaign or paid click proof. |
The variants you can tune in production.
These defaults come from the active attribution settings in code. They are the baseline before a site changes its attribution configuration.
The model used for the primary Attribution table and summary.
How far back a matched touchpoint can be considered for a conversion.
Default posture: direct is visible but should not overwrite campaign context in the main model.
Linear, time decay, and position-based models exclude direct when non-direct touches exist unless the policy changes.
Threshold used to separate weak matches from useful attribution evidence.
Default retention window for attribution records and audit-friendly history.
Start with Last non-direct, then compare against paid and multi-touch models.
For most Shopify and ecommerce teams, Last non-direct is the cleanest daily operating view. First paid touch and Last paid click help paid media teams understand acquisition and closing clicks. Linear, Time decay, and Position based expose assisted revenue when email, SMS, retargeting, and organic touches are part of the same journey.