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.
Portals:
Get credentials (signing secret)
Intently does not need your Stripe secret API key for revenue attribution. It needs a webhook endpoint on your Stripe account and the endpoint’s signing secret (whsec_…).
- Open Attribution settings and copy your dedicated webhook URL (includes your account id)
- In Stripe, open Developers → Webhooks (test mode vs live mode must match the account that takes payments)
- Add endpoint → paste the Intently URL
- Subscribe at least to:
checkout.session.completedinvoice.paid
Optional / advanced: payment_intent.succeeded, refund.created, refund.updated
- After creating the endpoint, open it → Reveal / Signing secret → copy
whsec_… - Paste the signing secret back into Intently → Save webhook secret
Intently verifies the signature and deduplicates payments via a stable stripePaymentKey so checkout + payment_intent pairs do not double-count.
Rotate the signing secret in Stripe if it leaks; paste the new whsec_… into Intently.
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.
See also SDK reference.
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.