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.

1

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>
2

Visitors generate touchpoints

Pageviews, sessions, UTMs, click IDs (gclid, fbclid, msclkid, ttclid), referrers. Everything Rally needs to attribute later, captured passively.

3

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.

4

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.

5

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
Email 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