📡 8. Conversion Tracking — Pick Your Setup First

Don't pick a "method" at random. The right way to track conversions depends entirely on WHERE the sale or opt-in happens. Find your scenario in the table, then jump to the matching setup.

|

| If you sell or capture leads on… | | Use this | | Why |

|

| 🛒 WarriorPlus | | W+ Notification URL (server-to-server IPN)

NOT a sale pixel.

→ Setup Wizard · → W+ Connect Training | | Fires server-to-server from W+. Never blocked by ad blockers, browser tab close, mobile Safari privacy modes, or no-JS visitors. Pixels miss real sales — IPN never does. |

| 🛒 JVZoo | | JVZIPN URL (server-to-server IPN)

NOT a sale pixel.

→ Setup Wizard · → JVZoo Connect Training | | Same as W+ — JVZoo fires the IPN from its server every time, no matter what the buyer's browser does. |

| 🛒 ClickBank / Stripe / ThriveCart / SamCart / custom cart | | Server postback URL — see Section 5 below | | Each platform fires a webhook to your postback URL. Server-side, always reliable. |

| 📥 Lead / opt-in tracking (any platform) | | Lead Pixel on the thank-you page (snippet below) | | Opt-ins don't have a marketplace IPN equivalent — must capture browser-side. |

| 📥 Same-site WordPress funnel (tracking link + checkout both on this site) | | Simple <img> pixel (one-line snippet below) | | Cookie is shared on the same domain, so a one-line image pixel works without JavaScript. |

⚠️ HUGE: If you sell on W+ or JVZoo, do NOT use sale pixels.

Use the Notification URL / JVZIPN URL instead. Pixels for marketplace sales are unreliable — they miss conversions because:

Ad blockers block the pixel domain (very common in IM niches)

Buyer closes the tab before the pixel fires (a few hundred ms is all it takes)

Mobile Safari + private browsing drops cross-site pixel pings

No-JS visitors / cached "thank you" pages never run the script

The IPN fires from W+'s / JVZoo's own server the moment the sale completes — the buyer's browser is irrelevant. Server-to-server is bulletproof. Pixels are a backup at most. Run the Setup Wizard → to wire your IPN URL into W+ / JVZoo correctly.

📥 Lead / Opt-in Tracking (browser pixel — REQUIRED, no server alternative)

Place this on your opt-in confirmation / thank-you page:

<script> (function(){ var p = new URLSearchParams(window.location.search); var cid = p.get('wct_click_id') || window.localStorage.getItem('wct_click_id') || ''; if (cid) window.localStorage.setItem('wct_click_id', cid); var img = new Image(); img.src = "?wct_postback=1&type=lead" + (cid ? "&click_id=" + cid : ""); img.style.display = "none"; (document.body || document.documentElement).appendChild(img); })(); </script>

This automatically reads the wct_click_id from the URL, stores it in localStorage for multi-page funnels, and fires a lead conversion. Works across domains. Use this for opt-in pages — there's no server-side equivalent for leads, so the browser pixel is the only option.

📥 Same-Site Simple Pixel (one-line <img> for WordPress-only funnels)

<img src="?wct_postback=1&type=lead" width="1" height="1" style="display:none" alt="" />

Use this only when the tracking link and thank-you page are on the same domain — the browser cookie carries the click_id automatically, no JavaScript needed. Simpler to maintain but doesn't work cross-domain.

🛒 Sale Pixel (for non-marketplace setups ONLY)

⚠️ Skip this section if you sell on W+ or JVZoo. Use the Notification URL instead — it's bulletproof, the pixel is not. This snippet is for custom carts, free downloads with a $0 "sale" event, or platforms with no IPN support.

Place on your purchase confirmation page only when you don't have a server-to-server IPN available:

<script> (function(){ var p = new URLSearchParams(window.location.search); var cid = p.get('wct_click_id') || window.localStorage.getItem('wct_click_id') || ''; if (cid) window.localStorage.setItem('wct_click_id', cid); var amount = 47; // Replace with your sale amount var img = new Image(); img.src = "?wct_postback=1&type=sale&amount=" + amount + (cid ? "&click_id=" + cid : ""); img.style.display = "none"; (document.body || document.documentElement).appendChild(img); })(); </script>

🛠️ JavaScript Helper Library (optional convenience wrapper)

<script src=""></script> <script> wctLead(); // Track a lead (Conversion A, no revenue) wctSale(47.00); // Track a sale with revenue (Conversion B) </script>

The helper library is optional — the pixel snippets above work fine on their own. Use this if you prefer function calls instead of building the image request yourself.

📊 Revenue Amount Examples (when amount is dynamic)

|

| Platform | | Replace amount with |

|

| Fixed price $47 | | 47 |

| JVZoo dynamic | | %ctransamount% |

| WarriorPlus dynamic | | {w+amount} |

| ClickBank dynamic | | {{amount}} |

| Stripe / ThriveCart / SamCart | | Use the platform's dynamic amount variable |

✅ Basic Test Flow

Create a tracking link (e.g. test-offer)

Open a private/incognito browser window

Click the tracking link — you'll land on the destination with ?wct_click_id=123 in the URL

Place the lead or sale pixel on a test page and load it (keeping the wct_click_id in the URL)

Refresh the Dashboard or Links tab — you should see the lead/sale recorded

Important: If you visit the thank-you page directly without clicking a tracking link first, nothing will be attributed because no click ID exists. Always click the tracking link first.

↑ Back to Table of Contents

Ready to stop reading and start using?

Every plugin documented here works alongside the others — managed from one ResultsAIx Hub.