From snippet to truth, in five steps.
Rally is a multi-touch attribution pipeline. Each visitor session, each conversion, each click ID — recorded passively, matched precisely, attributed transparently. Here's the path.
Drop in the script
One snippet on your storefront. No app store, no plugin marketplace. Loads from your own subdomain on Pro+ so ad-blockers don't see "tracker."
<script src="https://tracking.rallyattribution.com/rally.js"
data-key="YOUR_KEY" defer></script> Visitors generate touchpoints
Pageviews, sessions, UTMs, click IDs (gclid, fbclid, msclkid, ttclid), referrers. Everything Rally needs to attribute later, captured passively.
Conversion arrives
Order webhook from your store, or a custom rally.convert() call from your form / signup flow. Rally matches the conversion back to its visitor session — by visitor ID, cart ID, customer ID, email, phone, or IP — whichever exists.
Attribution distributes credit
Across the conversion path. First-touch, last-touch, linear, time-decay, position-based — all five models, applied to the same data, so you can see what changes when you change the lens. Confidence scores tell you when a match is rock-solid vs. probabilistic.
Dashboard shows the truth
Channel breakdown, by-source / campaign / geo / device, attributed orders + lead conversions, unattributed orders (and why), model comparison side-by-side, ROAS once your ad-spend integrations are connected.
How matching actually works
Conversions arrive separately from visitor sessions. Rally tries six signals in order of confidence; the first one that matches wins. Every match gets a confidence score so you know what's solid and what's a best guess.
| Signal | Confidence | Notes |
|---|---|---|
| Visitor ID cookie | Highest | First-party cookie, set on first visit |
| Cart ID | High | BigCommerce/Shopify pass cart_id on order webhooks |
| Customer ID | High | Returning customer — store passes customer_id |
| Medium | Captured on identify / checkout / convert events | |
| Phone | Medium | Same fields as email |
| IP address | Lower | Hashed; fallback only when nothing else matches |
What counts as a "channel"
Rally classifies every touchpoint into one of these:
- Paid Search — gclid, msclkid, or UTM source matching ads
- Paid Social — fbclid, ttclid, or UTM source matching ads
- Organic Search — Google/Bing/etc. referrer with no ad markers
- Organic Social — social platform referrer with no ad markers
- Email — UTM medium=email or referrer matching common ESPs
- Direct — no referrer AND a shallow landing page (homepage, /about, etc.)
- Unattributed — no referrer AND a deep landing page (referrer was stripped, but they didn't type the URL)
- Referral — any other external referrer
The Direct vs. Unattributed split is rare in attribution tools. It's the difference between someone who knew your brand and one who lost their referrer along the way — and treating them as the same channel hides 10–20% of your real channel mix.
Ready to see where your sales actually come from?
14-day free trial of Growth. Drop in the script, connect your store, watch attribution show up the moment your first order does.
Start free trial