Stripe integration

Stripe is on the map, not in the product yet.

We read Stripe charges and their metadata to attribute actual revenue to organic landing pages.

Not connectable yet

We read from this source rather than publish to it, which means our webhook is no substitute: it delivers outward. This needs an inbound OAuth connection we have not built yet, so there is nothing here to connect today.

How it works

The Stripe integration authenticates with a restricted API key you create in your Stripe dashboard, scoped to read-only access. We read Charges, PaymentIntents, and Customers along with their metadata, and use that metadata to attribute revenue to the organic landing pages that started each customer's journey. This is the strongest claim content can make: not clicks, not leads, but revenue per page.

The honest requirement is that Stripe holds no traffic-source data natively. A charge knows its amount and customer, not the landing page behind it, so attribution depends on your checkout writing UTM and landing-page metadata onto Stripe objects. We ship a snippet and a setup guide that make this a one-time engineering task, and once the metadata flows, the measure step in the loop reports in currency.

Best forBusinesses charging through Stripe who want content reporting denominated in revenue rather than proxy metrics.

Setup, step by step

  1. Create a restricted API key in your Stripe dashboard with read access to Charges, PaymentIntents, and Customers.
  2. Paste the restricted key into SearchHandled's Stripe connector.
  3. Add our metadata snippet to your checkout flow, following the setup guide, so UTM and landing-page data lands on Stripe objects.
  4. Run the verification check, which looks for the metadata on recent test or live objects.
  5. Review the first revenue attribution report once real charges carry the metadata.

Best practices

Use a restricted key, never a secret key

Stripe's restricted keys exist exactly for this: read-only access to the objects attribution needs and nothing else. Never paste a full secret key into any third-party tool, ours included.

Put the snippet everywhere checkout starts

Attribution only covers journeys where the metadata was captured. If you have multiple checkout entry points, the snippet belongs in all of them, or those revenue paths stay invisible.

Verify metadata after checkout changes

A checkout redesign or payment-provider tweak can silently drop the metadata write. Rerun the verification check after any checkout deploy, the same way you would smoke-test payments themselves.

Read revenue attribution as directional

Metadata captures the tracked journey, and some buyers convert across devices or long delays where the trail thins. The numbers are real revenue from tracked paths, best read as a floor, not a census.

Known issues

What practitioners actually report, from official docs, issue trackers, and community forums.

Stripe has no native traffic-source data

Charges and customers carry no information about the landing page or campaign behind them, so a bare Stripe connection cannot attribute revenue to content at all.

How we handle itOur snippet writes UTM and landing-page metadata onto Stripe objects at checkout, and the setup guide walks your developers through it once. After that, attribution runs automatically.

docs.stripe.com

Attribution gaps when metadata is missing

Charges created before the snippet, or through entry points that skip it, arrive without metadata and show as unattributed revenue.

How we handle itUnattributed revenue is reported as its own visible bucket rather than being hidden or guessed at, and a growing bucket is your cue that an entry point is missing the snippet.

docs.stripe.com

Questions teams ask

Can SearchHandled touch our money or issue refunds?

No. The restricted key you create is read-only, and Stripe enforces its permissions on their side. We can read charges and customers for attribution and cannot move, refund, or modify anything.

Why do we need to add a snippet to checkout?

Because Stripe does not record traffic sources. The snippet writes the landing page and UTM data onto the objects Stripe creates at checkout, which is what makes revenue-per-page attribution possible.

What happens to purchases made before the snippet was installed?

They have no attribution metadata, so they appear in the unattributed bucket. Attribution starts with the first charge that carries the metadata and builds from there.

Not connectable yet

Start with the plan, not the connector.

Build a Growth Map from your site to see the work itself. Approved pages can leave through the export or the webhook today, and telling us Stripe matters moves it up the rollout.

Build my Growth Map