Skip to main content
  1. Home
  2. Connectors
  3. Stripe - Loops
Stripe Loops

Send events from your Stripe-billed app to Loops

Each event is resolved to a person against a 750M+ device graph before it reaches Loops, so records and reporting reflect the person, not the device.

US device IDs in the graph
750M+
Match rate on events
90%+
Identity window, per customer
Lifetime
Most brands are live
<20 min

How it flows

How a Stripe event reaches Loops. Sent from your app, resolved to a person, then forwarded.

01 Capture

Captured from Stripe

For apps that bill through Stripe, send payment and subscription events to Upstack with the Upstack Pixel and JavaScript SDK, resolved to a customer before they reach the tools you spend on.

See the Stripe integration
StripeWhat it sends
  • subscription_initial_purchaseyou fire it for the first subscription order
  • subscription_recurring_purchaseon invoice.paid for an existing subscription
  • payment_succeededmaps to invoice.paid or charge.succeeded
  • payment_refundedmaps to charge.refunded
  • amount / currencyamount in cents, with invoiceId and subscriptionId

02 Understand

Resolved to one person before it leaves

Every Stripe event is matched against a 750M+ device graph, so a phone browse and a desktop checkout resolve to one customer rather than two strangers.

How resolution works
Upstack DataResolved before it is sent
  • IdentityMatched against a 750M+ device graph, so a phone browse and a desktop checkout resolve to one customer.
  • customer_typeNew or returning, resolved before send.
  • DeduplicationOne person, one record, across devices and identifiers.
  • Bot and fraud filteringAutomated traffic never becomes a contact.

A CRM is only as trustworthy as its worst duplicate. These controls exist so the record reflects the person.

03 Activate

Delivered to Loops

Send resolved customer events to Loops for lifecycle messaging.

See the Loops integration
LoopsWhat it receives
  • emailcontact key
  • event namewhat the lifecycle message reacts to
  • data variablespersonalization

Which events reach Loops

Each Upstack event is mapped to the Loops event below before it is sent.

Upstack eventSent to Loops asKey data on the event
Product viewViewed ProductProductName, ProductID, Price, ImageURL
Add to cartAdded to CartProductName, ProductID, Price, Quantity, CartValue
CheckoutStarted CheckoutCartValue, ItemCount, CheckoutURL
PurchasePlaced OrderOrderID, Revenue, Items, DiscountCodes

When Upstack identifies a visitor, it attaches the contact’s email and other known properties, and syncs profile properties including name, email and location to Loops.

The catch

A Stripe charge has no session, campaign or referrer attached: it is the money and nothing else.

Loading it into a CRM without resolution produces accurate revenue with no attribution, which is the failure mode that looks fine until someone asks which channel paid for it.

Where to check in LoopsRecords you can audit

Loops the contact's event history

What changes

What changes when Stripe feeds Loops. Two gains on the Loops side, two on the Stripe side.

Loops

Server-side delivery

Upstack sends events to Loops from its servers only, so ad blockers and browser privacy settings can’t block delivery.

Loops

Identity-resolved events

Events sent to Loops carry the resolved customer whenever Upstack can identify one, matched against a 750M+ device graph.

Stripe

Subscription purchases as events

Fire subscription_initial_purchase for the first order and subscription_recurring_purchase each time a renewal is paid, so first orders and renewals are reported separately.

Stripe

Payments and refunds

payment_succeeded, payment_failed and payment_refunded each map to a Stripe event (invoice.paid or charge.succeeded, invoice.payment_failed, charge.refunded), so money events reach Upstack when your app fires them.

Setup

Live in under 20 minutes.

You need a Loops account where you can create an API key with write access to events and contacts.

Upstack dashboardExample
Loops Destination Healthy
Read the full Loops setup guide
  1. 01

    Install the Upstack Pixel and SDK

    Add the Upstack Pixel to your app, then fire the subscription and payment events with the JavaScript SDK when Stripe reports them, such as subscription_recurring_purchase when invoice.paid fires for an existing subscription.

  2. 02

    Add the Loops destination

    Under Destinations, add Loops with an API key created under Settings, API in your Loops account. It is the only credential the destination needs.

  3. 03

    Check events in Loops

    Trigger a test action on your store, such as viewing a product or adding to cart, and check Events in Loops. In Upstack, the Real-Time Events feed under System, Events Manager shows the events as delivered to Loops.

FAQ

Questions about Stripe and Loops.

What permissions does the Loops API key need?

The key must have permission to write events and contacts, so Upstack can send events and create or update contacts.

Which events does Loops receive?

ViewContent as Viewed Product, AddToCart as Added to Cart, InitiateCheckout as Started Checkout and Purchase as Placed Order.

Which customer parameters are sent to Loops?

When Upstack identifies a visitor, it attaches the contact’s email and other known properties, and syncs profile properties including name, email and location to Loops.

How do I check that Stripe events are reaching Loops?

Trigger a test action on your store, such as viewing a product or adding to cart, and check Events in Loops. In Upstack, the Real-Time Events feed under System, Events Manager shows the events as delivered to Loops.

How long does it take to connect Stripe to Loops?

Most brands are live in under 20 minutes. Once Stripe events reach Upstack, every destination receives the same resolved events, Loops included.

Related connectors

See all 408 connectors

Get Stripe talking to Loops.

A 15-minute walkthrough of this connector on your own account.

21-day free trial, no card. Month to month.