Stripe sends signed JSON webhooks, which a plain postback URL cannot read. The Stripe Connect add on solves that. It receives Stripe's webhook events directly and turns them into normal WCT conversions, so they appear on the Conversions tab, the Dashboard and link stats like any other sale. It is free, it has no license key of its own, and it runs on any site where WP Conversion Tracker is installed and licensed.
What It Records:
- Checkout sales, from checkout.session.completed.
- Refunds, from charge.refunded. A refund reverses the matching sale, the same way refunds from other platforms do.
- Subscription rebills, from invoice.paid on renewal cycles.
- Every other Stripe charge, from charge.succeeded and charge.captured. This catch all covers API charges, payment links and standalone invoices that have no Checkout session.
Setting It Up:
- Install and activate the add on, then open the 💳 Stripe Connect tab.
- Copy the webhook URL shown at the top of the tab.
- In Stripe open Workbench, then Webhooks, then + Add destination. Leave the scope on Your account and the API version on its default, then search for and tick the five events above. Choose Webhook endpoint as the destination type, paste the URL into Endpoint URL and create it. If your Stripe account still shows Developers, then Webhooks, then Add endpoint, use that instead with the same five events.
- Open your new destination in Stripe, click Reveal next to Signing secret, copy it, paste it into the Stripe Connect tab and save. Events that fail signature verification are rejected.
- Use Stripe's Send test event button, or wait for a real sale. The status badge on the tab moves from NOT CONNECTED to READY, and to CONNECTED once a conversion has been recorded. The Recent webhook activity table lists the last 25 events with their status.
Choosing What To Track:
Four checkboxes let you switch sales, refunds, subscription rebills and the catch all on or off. The catch all waits about five minutes before it records a charge, and it skips any payment that Stripe Checkout, WarriorPlus or JVZoo has already recorded, so nothing is counted twice. Stripe does not send the buyer's IP address on these events, so catch all sales usually show as unattributed.
Attributing Sales To The Click:
When your site creates the Stripe Checkout session, set client_reference_id to the visitor's wct_click_id. That value comes from the URL parameter or from the wct_click_id cookie WCT sets on every tracked click. Stripe returns it on every related event, so the sale attaches to the exact click. A sale without a click ID is still recorded, it simply shows as unattributed.
Importing Past Stripe Sales:
The Import Past Stripe Sales card brings in sales you made before you connected.
- Create a restricted key in Stripe with read access to Checkout Sessions and Refunds. The key is used for the run only and is never saved.
- Paste it into the card, and set From and To dates if you want to limit the range.
- Click Preview to count everything without writing anything.
- Click Import Sales, then Apply Refunds.
Every sale keeps its original date, so your charts and date ranges stay truthful. A sale that carried a click ID attaches to the original click, older sales are recorded as unattributed, and buyer country comes across from Stripe. Duplicates are skipped, so it is safe to run more than once and safe alongside live tracking.
Tidy Up Cards:
The tab can also show optional one click tidy up cards when it finds older Stripe records that can be improved. Each one has a Preview mode first, and a card disappears once nothing is left for it to do.
Stripe Connect Or The Pixel:
Stripe Connect is the recommended route for Stripe. The HTML sale pixel described in the Cart And Checkout Platform Setup article still works as a fallback.