- 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 Microsoft Ads. 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.- DeduplicationBrowser and server copies of the same purchase collapse on event ID, so nothing is counted twice.
- 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 Microsoft Ads
Send identity-resolved conversions to Microsoft Ads, so Bing and the Audience Network optimize on customers rather than on whatever the UET tag survived to see.
See the Microsoft Ads integration →
Microsoft AdsWhat it receives hashed email / phoneEnhanced Conversions matchingmsclkidkeep Bing paid-search attributionconversion valuevalue-based biddingeventIddedupe against the UET tagconversion_namemap to the right UET goal
Which events reach Microsoft Ads
Each Upstack event is mapped to the Microsoft Ads event below before it is sent.
| Upstack event | Sent to Microsoft Ads as | Key data on the event |
| Page view | pageLoad | URL, referrer, user agent |
| Product view | view_item | itemIds, value, currency |
| Add to cart | add_to_cart | itemIds, value, currency |
| Checkout | begin_checkout | value, currency |
| Purchase | purchase | value, currency, transactionId, itemIds |
Every event carries hashed email and phone, the msclkid click ID, IP address and user agent; Microsoft does not support address-level matching. Personal data is hashed with SHA-256 before it leaves Upstack.
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 Microsoft AdsDelivery you can audit
Microsoft Advertising › Conversion goals › Diagnostics
The diagnostics view reports the share of conversions carrying usable hashed data.
What changes
What changes when Stripe feeds Microsoft Ads. Two gains on the Microsoft Ads side, two on the Stripe side.
Microsoft Ads
Server-side delivery
By default Upstack sends events to Microsoft Ads from its servers as well as through the Microsoft Ads tag, so an event an ad blocker or browser privacy setting stops in the browser still arrives from the server.
Microsoft Ads
Identity-resolved events
Events sent to Microsoft Ads 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 admin access to a Microsoft Advertising account enrolled in Microsoft’s Conversions API pilot, with msclkid tracking enabled on your campaigns.
Upstack dashboardExample
Microsoft Advertising Destination Healthy
Read the full Microsoft Ads 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 Microsoft Ads destination
Under Destinations, add Microsoft Advertising with your numeric UET Tag ID and a CAPI Auth Token generated in your UET Tag settings. The token option appears only once your account is enrolled in Microsoft’s Conversions API pilot.
-
03
Check UET Tag Status
Upstack marks the destination Healthy, and server-side events appear alongside browser events under Tools, UET Tags, Tag Status in Microsoft Advertising. Test with a real ad click and purchase: Microsoft may take a little longer to show it in its own reporting.
FAQ
Questions about Stripe and Microsoft Ads.
What is the difference between the UET Tag ID and the CAPI Auth Token?
The UET Tag ID identifies your Microsoft Advertising tracking tag, the same ID used for browser-side tracking. The CAPI Auth Token is a Bearer token that authorizes server-side event submission. You need both.
How do I enroll in the CAPI pilot program?
Contact your Microsoft Advertising account manager or Microsoft Advertising support to request enrollment in the Conversions API pilot. Once enrolled, the auth token option becomes available in your UET Tag settings.
Which events does Microsoft Ads receive?
PageView as pageLoad, ViewContent as view_item, AddToCart as add_to_cart, InitiateCheckout as begin_checkout and Purchase as purchase.
Which customer parameters are sent to Microsoft Ads?
Every event carries hashed email and phone, the msclkid click ID, IP address and user agent; Microsoft does not support address-level matching. Personal data is hashed with SHA-256 before it leaves Upstack.
How do I check that Stripe events are reaching Microsoft Ads?
Upstack marks the destination Healthy, and server-side events appear alongside browser events under Tools, UET Tags, Tag Status in Microsoft Advertising. Test with a real ad click and purchase: Microsoft may take a little longer to show it in its own reporting.
How long does it take to connect Stripe to Microsoft Ads?
Most brands are live in under 20 minutes. Once Stripe events reach Upstack, every destination receives the same resolved events, Microsoft Ads included.