- 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 Google Ads Conversions. 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 ordersubscription_recurring_purchaseon invoice.paid for an existing subscriptionpayment_succeededmaps to invoice.paid or charge.succeededpayment_refundedmaps to charge.refundedamount / 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 →
Resolved 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.- DeduplicationThe browser tag and server-side conversions report to separate conversion actions, so keep one purchase action Primary and each order counts once.
- Bot and fraud filteringAutomated traffic never reaches the model, because what you keep out of the training set matters as much as what goes in.
03 Activate
Delivered to Google Ads Conversions
Send identity-resolved conversions to Google Ads with more matched parameters, so Enhanced Conversions actually match.
See the Google Ads Conversions integration →
Google Ads ConversionsWhat it receives hashed email / phone / addressEnhanced Conversions matchinggclid / wbraidkeep paid search attributionconversion valuevalue-based biddingorder_idthe order behind each conversion
The catch
A retried payment produces several Stripe objects for one purchase.
Forwarding each as a conversion inflates reported performance by the retry rate, which is highest on exactly the campaigns bringing in the least reliable payment methods. Fire the Upstack event when Stripe reports the payment succeeded (invoice.paid or charge.succeeded), so only the settled payment becomes a conversion.
Where to check in Google Ads ConversionsDelivery you can audit
Google Ads › Goals › Conversions › Diagnostics
Enhanced Conversions reports the share of conversions with usable hashed data attached.
What changes
What changes when Stripe feeds Google Ads Conversions. Two gains on the Google Ads Conversions side, two on the Stripe side.
Google Ads Conversions
Enhanced Conversions that match
Email, phone, name and address hashed and attached whenever Upstack has them, so more conversions come back attributed.
Google Ads Conversions
Restored gclid
Click IDs recovered from the graph when the browser drops them, so paid search keeps its attribution.
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 admin access to the Google Ads account, with permission to create or edit conversion actions.
Upstack dashboardExample
Google Ads Conversions Destination Healthy
Read the full Google Ads Conversions setup guide → -
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.
-
02
Add the Google Ads destination
Under Destinations, add Google Ads with the Conversion ID (AW- followed by 9 to 10 digits) and the 11 character Conversion Label from the Tag Setup of your Purchase - UpstackData goal. For server-side delivery, click Connect Google Ads, sign in with Google and link your events to conversion actions.
-
03
Check your primary purchase goal
Upstack marks the destination Healthy, and Goals, Conversions, Summary in Google Ads shows Purchase - Upstack (Server-side) as your only Primary purchase action. Place a test order and check that the conversion appears in Google Ads within 24 to 48 hours.
FAQ
Questions about Stripe and Google Ads Conversions.
Why does Upstack create a new conversion goal instead of using my existing one?
Pointing Upstack at your existing goal would mix its server-side conversions with whatever already fires into that goal (gtag, Shopify’s native tag, GTM), which makes deduplication and quality comparison impossible. A dedicated Upstack goal keeps the data clean.
Why doesn’t Upstack support Enhanced Conversions directly?
Upstack already sends the hashed match keys Enhanced Conversions uses (email, phone, name, address) on every server-side event, so configuring Enhanced Conversions for web on the Upstack goal would not add data. The account-level setup is separate and still recommended: Google will not accept customer data over the API until the account has agreed to the customer data terms and turned on enhanced conversions for leads.
Which customer parameters are sent to Google Ads Conversions?
Server-side conversions carry the gclid, gbraid or wbraid click ID plus email, phone, first and last name, city, state, zip and country, hashed with SHA-256. Google accepts the customer data only once enhanced conversions are switched on at the account level.
How do I check that Stripe events are reaching Google Ads Conversions?
Upstack marks the destination Healthy, and Goals, Conversions, Summary in Google Ads shows Purchase - Upstack (Server-side) as your only Primary purchase action. Place a test order and check that the conversion appears in Google Ads within 24 to 48 hours.
How long does it take to connect Stripe to Google Ads Conversions?
Most brands are live in under 20 minutes. Once Stripe events reach Upstack, every destination receives the same resolved events, Google Ads Conversions included.