ThriveCart Installation
Track ThriveCart checkout purchases end-to-end: connect ThriveCart in your dashboard, add the TrueTracked base pixel plus a checkout bridge to your product's tracking code, and add a purchase webhook. Orders are stitched to the visitor's browser session via ThriveCart's viewer_id (sent as external_id), with email as an automatic fallback.
Prerequisites: Your TrueTracked workspace ID, a ThriveCart account with access to custom tracking code and webhooks (Pro), and admin access to the product you want to track.
Step 1: Connect ThriveCart in your dashboard
In TrueTracked, go to Settings > Integrations. Under Checkouts, click Connect on the ThriveCart card. This is what turns on ingestion and lets you choose which products to track.
Required: ThriveCart purchases are only tracked while the integration is connected. If you add the webhook and scripts but never connect ThriveCart here, incoming purchases are dropped. Disconnecting stops tracking.
Step 2: Add the tracking script
In ThriveCart, open your product and go to Settings > Customize > Custom tracking code. Paste the block below into the All pages box. It loads TrueTracked and links each purchase to the visitor's session by sending ThriveCart's viewer_id (which equals the webhook's customer ID) as external_id.
<link rel="preconnect" href="https://t.ttrkd.com">
<link rel="preconnect" href="https://t.ttrkd.com" crossorigin>
<script>
(function(w, d, id) {
var t = w.truetracked = w.truetracked || function() {
(t.q = t.q || []).push(arguments);
};
t._w = id;
var s = d.createElement('script');
s.async = true;
s.src = 'https://t.ttrkd.com/tt.js?w=' + id;
d.head.appendChild(s);
})(window, document, 'YOUR_WORKSPACE_ID');
</script>
<script>
(function () {
function viewerId() {
try {
var tc = JSON.parse(localStorage.getItem('ThriveCart') || '{}');
var v = tc && tc.User && tc.User.value && tc.User.value.viewer_id;
return v ? String(v) : '';
} catch (e) { return ''; }
}
var n = 0;
(function go() {
var vid = viewerId();
if (vid && window.truetracked) {
window.truetracked('track', 'page_viewed', { external_id: vid });
return;
}
if (n++ < 20) setTimeout(go, 250);
})();
})();
</script>The connect dialog in your dashboard shows this same block pre-filled with your real workspace ID, ready to copy.
Step 3: Add the purchase webhook
- In ThriveCart, go to Settings > API & webhooks > Webhooks & notifications
- Click Add another webhook
- Set the Webhook URL to:
https://t.ttrkd.com/webhook/thrivecart?workspace_id=YOUR_WORKSPACE_ID - Tick Receive results as JSON?
- Save the webhook
Step 4: Choose which products to track
In the ThriveCart connect dialog, the Track all products toggle controls filtering:
- On (default): every ThriveCart purchase is tracked.
- Off: add one or more ThriveCart product IDs (e.g.
143, found on your ThriveCart Products page). Only orders containing at least one of those products are tracked.
What gets fired
When a purchase completes, ThriveCart sends an order.success webhook and TrueTracked automatically:
- Writes an order row with
platform=thrivecart - Stitches the order to the visitor's browser session via
external_id(the ThriveCartviewer_id), falling back to email if the bridge event hasn't landed - Fires Meta CAPI
Purchase+NewCustomerPurchase/ReturnCustomerPurchaseevents (if Meta is configured) - Fires TikTok CAPI + GA4 Measurement Protocol events (if configured)
Non-purchase events (refunds, subscription rebills, cancellations, abandoned carts) are acknowledged but not ingested.
Upsells & order bumps
ThriveCart fires the order.success webhook only after the funnel completes, i.e. after the customer accepts or declines any one-click upsell. When an upsell (or order bump) is accepted, ThriveCart sends a single order.success that includes both the main product and the upsell as separate line items, with the combined total.
So an upsell purchase is recorded as one order with multiple line items and the full order value, attributed to the same session. There is no second webhook and no duplicate order.
Filtering note: the product filter is order-level. If your allow-list contains the main product, the entire order (including any upsell or bump on it) is tracked, even if the upsell's own product ID isn't in the list. You can't track the main product while excluding an upsell that ships on the same order.
Verifying
- Run a test purchase through your checkout (ThriveCart test mode works)
- Check your TrueTracked dashboard orders list. The new order should appear within a few seconds with
platform=thrivecart - To verify upsell handling, accept the upsell and confirm the order shows both line items and the combined total
- Open Meta Events Manager > Test Events to confirm a Purchase event arrived (if Meta CAPI is configured)
Troubleshooting
- Order doesn't appear at all: ThriveCart isn't connected in Settings > Integrations (ingestion is gated on an active integration), or a product filter is set and none of the purchased products are in your allow-list.
- Order arrives but isn't linked to the visitor's session: the bridge script in Step 2 isn't installed, or the visitor reached the checkout without first being decorated by cross-domain tracking. Email-based fallback usually still links it.
- Webhook won't save in ThriveCart: ThriveCart validates the URL on save. Make sure it's the exact format above, including the
workspace_idquery parameter. - Payload looks malformed: make sure Receive results as JSON? is ticked on the webhook.