Documentation
Stripe revenue
Connect Stripe so paid revenue credits the same journeys as on-site events.
Connect your Stripe account so checkout.session.completed, invoice.paid, and related payment events become attributed conversions with source: stripe.
Setup
- Open Attribution settings
- Copy your dedicated webhook URL (includes your account id)
- In Stripe → Developers → Webhooks, add that endpoint
- Subscribe at least to:
checkout.session.completed,invoice.paid
Optional / advanced: payment_intent.succeeded, refund.created, refund.updated
- Paste the signing secret (
whsec_…) back into Intently and save
Intently verifies the signature and deduplicates payments via a stable stripePaymentKey so checkout + payment_intent pairs do not double-count.
Link payments to touchpoints
Without identity metadata, Stripe revenue may land as unattributed. Pass Intently identity when creating Checkout Sessions or Payment Intents.
On a page where the snippet is installed:
// Session id only (sync)
const metadata = ADT.Attribution.getStripeCheckoutMetadata();
// Session id + user hash when user tracking is on (async)
const metadata = await ADT.Attribution.getStripeCheckoutMetadataAsync();Use those values as Stripe metadata:
| Key | Purpose |
|---|---|
intently_session_id | Ties payment to the browser session |
intently_user_hash | Enables cross-session lookback when present |
Alternatively set Checkout client_reference_id to the Intently session id.
Refunds
refund.created / refund.updated ingest as negative revenue adjustments so refunded dollars do not stay credited to channels.
Reporting
On /attribution, filter Stripe vs On-site vs All. KPIs separate Stripe revenue from track-event revenue. Unattributed Stripe counts surface as warnings with a link back to setup.