Quick Answer: Copilot Checkout expanded past 500,000 US merchants and went live on Copilot mobile apps on April 21, 2026, with loyalty account linking and Stripe plus PayPal as supported processors. When a customer completes payment inside the Copilot conversation, the WooCommerce order arrives via processor webhook — but the browser never loads, which means GA4, the Meta Pixel, and the Microsoft UET tag never fire. The order exists; the attribution does not. The only capture point is the processor webhook landing on a server-side WordPress endpoint with the Copilot session metadata preserved.
In this article
- What Actually Changed on April 21
- The Data Flow: What Hits Your Store, What Hits Nothing
- Why Every Browser-Side Pixel Is Now Blind
- The Capture Spec: Webhook to Warehouse
- The Metric Reframe: Orders-Per-Impression, Not CTR
- What to Do If You Haven’t Enabled Copilot Checkout
- Key Takeaways
- Frequently Asked Questions
A customer asks Copilot on their phone for a sleeping bag for August in the Sierra. Copilot recommends three products. The customer taps Buy on yours. Stripe completes payment inside the Copilot conversation. The confirmation lands in the Copilot app. The customer never visits your site. Your WooCommerce database gets the order. Your GA4 sees nothing. Your Meta Pixel sees nothing. Your Microsoft UET tag sees nothing. The order exists; the attribution does not.
This stopped being a desktop curiosity on April 21, 2026. Copilot Checkout crossed 500,000 US merchants, went live on Copilot mobile apps for iOS and Android, added customer loyalty account linking, and named Stripe and PayPal as the two supported processors (Microsoft Advertising, “Win across all three eras of the web”, April 21, 2026). Mobile is the shopping surface. The conversion path Microsoft built bypasses the entire browser-side measurement stack you currently rely on. The fix is server-side, and it is mostly a webhook.
What Actually Changed on April 21
Copilot Checkout shipped four updates simultaneously — merchant count, mobile availability, loyalty linking, and named processors — which together complete the in-conversation purchase loop for the first time.
Copilot Checkout launched on desktop in January 2026 with merchant-of-record preserved and a pilot pool of roughly 100,000 US merchants. The April 21 release multiplied that catalog by five and unlocked the surface customers actually shop on.
- Catalog: 500,000+ US merchants enabled — up from the January pilot’s ~100,000 (Microsoft Advertising, April 21, 2026).
- Mobile: Copilot Checkout live on Copilot iOS and Android apps — the conversation-to-purchase loop now closes without ever leaving the app.
- Loyalty account linking — shoppers earn and redeem your store’s reward points inside the Copilot conversation, which Microsoft is using to reinforce merchant-of-record retention.
- Stripe and PayPal named as processors — Stripe’s Agentic Commerce Suite (ACS) and Shared Payment Tokens are rolling out as the agentic-fraud-prevention layer.
Copilot Checkout crossed 500,000 US merchants and launched on Copilot mobile apps on April 21, 2026 — a five-times catalog expansion from the January 2026 pilot and the first time the in-conversation purchase loop reached the surface customers actually shop on.
The structurally important point is that the merchant remains the seller of record. Your WooCommerce store still owns the order, the customer relationship, the returns process, and the legal liability. Microsoft does not interpose itself as the merchant. The order data still lands in your database. What does not land is anything browser-side.
You may be interested in: Stripe Just Wired AI Agents Into Your WooCommerce Checkout
The Data Flow: What Hits Your Store, What Hits Nothing
Three data destinations matter for a Copilot Checkout order — your WooCommerce database, Microsoft Ads conversion reporting, and your client-side analytics — and they receive wildly different amounts of information about the same sale.
Trace one Copilot Checkout sale through the stack:
| Destination | What It Receives | Completeness |
|---|---|---|
| WooCommerce database | Full order via Stripe or PayPal webhook — customer email, line items, total, shipping address, payment status | Complete |
| Microsoft Ads conversion reporting | The ad ID is preserved if Copilot Checkout is configured correctly — conversion attributed to the originating campaign | Reasonable |
| GA4 (browser-side gtag.js) | Nothing — the browser never loaded your domain | Empty |
| Meta Pixel | Nothing — same reason | Empty |
| Microsoft UET tag (browser) | Nothing — same reason; the Microsoft Ads conversion data above arrives via a separate ad-network path, not the UET tag | Empty |
| Klaviyo / email automation | Whatever your existing order-webhook integration captures from WooCommerce — usually complete, unless you triggered Klaviyo events from browser JS | Depends on setup |
| BigQuery (raw exports) | Nothing, unless you stream from the order hook server-side | Empty by default |
This is not a Microsoft problem. It is the architecture of in-conversation checkout. When the page never loads, the browser-side pixels never fire — and every consumer-grade analytics stack in 2026 is still built on the assumption that the browser loads.
Why Every Browser-Side Pixel Is Now Blind
The Copilot purchase happens inside the conversation, which means there is no page view, no scroll event, no add-to-cart, no thank-you page — the entire pixel-firing chain has nothing to attach to.
Browser-side measurement was built around a sequence: customer visits site, customer browses, customer adds to cart, customer reaches a thank-you page, the thank-you page fires the conversion pixel. Copilot Checkout removes every step before “customer completes purchase”. The customer enters the conversation, sees the recommendation, taps Buy, and the transaction finishes inside the Copilot app surface. Your domain is not in the loop.
The implications are concrete:
- GA4 has no session, no source/medium, no conversion event. The order does not appear in any GA4 report.
- The Meta Pixel did not fire — no Purchase event, no value transmitted. Meta’s bidding algorithm cannot learn from this sale.
- The Microsoft UET tag did not fire either. Microsoft Ads still gets a conversion record — but only because the conversion is delivered via the agentic-commerce ad pipeline, not the UET tag. Two different paths into Microsoft Ads; only the ad-pipeline one fires here.
- Heatmap, session-recording, and on-site personalization tools capture nothing — there is no session to capture.
ZATO Marketing put the metric shift bluntly: WooCommerce stores running Microsoft campaigns will see impressions tick up while site clicks decline, and the meaningful metric becomes orders per impression rather than CTR or CPA. The traditional funnel report becomes the wrong report.
When Copilot Checkout completes a purchase inside the conversation, the WooCommerce order exists in the database but GA4, the Meta Pixel, and the Microsoft UET tag never fire — the only conversion record is the processor webhook.
The Capture Spec: Webhook to Warehouse
The capture path for a Copilot Checkout sale is a Stripe or PayPal webhook landing on a server-side WordPress endpoint, enriched with the Copilot session metadata from the checkout intent, then relayed to every downstream destination.
The fix is not a new pixel. The fix is treating the processor webhook as the source of truth for the conversion event, then routing from there. Microsoft injects Copilot session metadata into the Stripe or PayPal checkout intent — including the conversation identifier, the recommending agent, and the originating ad ID when applicable. That metadata travels with the webhook payload back to your store.
The minimum viable capture flow:
- Stripe or PayPal webhook lands on a server-side WordPress endpoint — a custom REST route or the WooCommerce processor’s existing webhook handler. The payload includes the full order plus the Copilot session metadata Microsoft attached at checkout intent creation.
- Enrichment step reads the Copilot session ID, ad ID, and recommendation source from the checkout intent metadata and attaches them to the WooCommerce order as post meta.
- The order writes to BigQuery via streaming insert, with the Copilot session dimension preserved as a queryable column.
- Server-side conversion APIs fire from the same handler: GA4 via Measurement Protocol, Microsoft Ads UET CAPI, Meta CAPI, Klaviyo’s server-side Track API. Each gets a hashed identifier where required.
- The dashboard layer joins the Copilot session dimension to revenue — which agent surface drove which order, with margin attribution intact.
This is the pattern Transmute Engine is built for. It runs as a first-party Node.js server on your subdomain, accepts the WooCommerce order event (via the inPIPE plugin or directly via webhook), preserves the Copilot session and ad-ID metadata, and relays the conversion to GA4, Microsoft Ads CAPI, Meta CAPI, BigQuery, and Klaviyo from your own domain. The order that GA4 never saw becomes a row in your warehouse with the Copilot dimension attached — and the Microsoft Ads CAPI delivery preserves the conversion path Microsoft expects to see for campaign optimization.
You may be interested in: The BigQuery Schema Every WooCommerce Live Artifact Will Quietly Demand
The Metric Reframe: Orders-Per-Impression, Not CTR
When site visits decouple from sales, the traditional click-through-rate-to-cost-per-acquisition funnel stops representing reality — the working metric becomes orders or revenue per AI impression.
Site clicks will decline on Microsoft Ads campaigns running against agentic-commerce-eligible inventory. This is not a campaign-quality problem; it is what happens when the purchase moves into the conversation. Stores that judge campaign health by CTR and CPA will see those metrics degrade and conclude that the campaign is failing — when in fact the impressions are still converting, just not via a click to the site.
The metrics that actually represent reality in 2026:
- Orders per impression — total conversions (across site-click and in-conversation paths) divided by impressions served. This is the single best campaign-health metric for agentic-eligible inventory.
- Revenue per AI session — for stores that capture the Copilot session ID, you can join session count to revenue and see which conversation patterns convert.
- In-conversation share of conversions — what percentage of Microsoft Ads conversions came via Copilot Checkout vs site click. This shifts upward as adoption grows.
- Margin per conversion path — in-conversation orders may have different shipping profiles, return rates, and lifetime value than site-click orders. Track them separately.
Reporting against the old metrics produces the wrong conclusion. Reporting against orders-per-impression keeps the campaign management honest.
What to Do If You Haven’t Enabled Copilot Checkout
The same server-side capture pattern applies even without Copilot Checkout — the site-click path also benefits from server-side conversion capture, because the AI-source URL parameters are increasingly stripped by referrers before the browser-side pixel fires.
Plenty of WooCommerce stores have not yet enabled Copilot Checkout — either by choice, by missing the merchant-acceptance window, or because the catalog has not yet been UCP-cleaned. The measurement gap still applies, just in a different way.
Site-click traffic from Copilot, ChatGPT, and Perplexity routinely arrives with the AI-source parameters partially intact and partially stripped, depending on how the agent surface chose to handle referrer privacy. Client-side gtag.js sees what the browser sees, which is sometimes the AI-source param and sometimes a clean URL. The order hook on your server sees the request that actually came in — and can read both the URL params and the request headers reliably, before anything is stripped or rewritten.
The capture pattern is the same. Hook the order on the WordPress side, attach the AI-source parameters as order meta, relay server-side to GA4, Microsoft Ads CAPI, Meta CAPI, BigQuery. The only difference is the webhook origin — for non-Copilot-Checkout orders, the trigger is the standard WooCommerce woocommerce_thankyou or woocommerce_payment_complete hook rather than the Stripe or PayPal direct webhook.
Key Takeaways
- Copilot Checkout expanded to 500,000+ merchants and went mobile on April 21, 2026, with Stripe and PayPal as named processors and loyalty account linking added.
- In-conversation purchases never load your domain — GA4, Meta Pixel, and Microsoft UET tag do not fire. The only conversion record is the processor webhook.
- Microsoft Ads conversion reporting still works because it receives the conversion through the agentic-commerce ad pipeline, not the UET tag.
- The capture path is server-side at the webhook: read Copilot session metadata from the checkout intent, attach to the order, relay to GA4 Measurement Protocol, Microsoft Ads CAPI, Meta CAPI, BigQuery, and Klaviyo.
- The metric reframe is orders-per-impression, not CTR or CPA — site clicks decline on agentic-eligible inventory while impressions and conversions continue.
- The same server-side pattern applies even without Copilot Checkout — AI-source URL parameters are increasingly stripped before browser-side pixels fire.
Frequently Asked Questions
Copilot Checkout is Microsoft’s in-conversation purchase path that lets a customer complete a purchase inside the Copilot app or Copilot.com surface, without redirecting to the merchant’s website. The merchant remains the seller of record, the order data lands in the merchant’s database via Stripe or PayPal webhook, and the customer never loads the merchant’s site. Microsoft expanded Copilot Checkout to 500,000+ US merchants on April 21, 2026, alongside the rollout to Copilot mobile apps and the addition of loyalty account linking.
GA4 relies on browser-side gtag.js firing when a customer reaches a thank-you page on your domain. When a customer completes Copilot Checkout inside the conversation, the browser never loads your domain, gtag.js never executes, and GA4 never receives a Purchase event. The order exists in your WooCommerce database but is absent from GA4. The fix is to fire the GA4 Purchase event server-side via Measurement Protocol from the order hook, using the hashed customer email as the client_id where consent permits.
Yes, when Copilot Checkout is configured with the ad ID preserved through the checkout intent. Microsoft Ads receives the conversion through the agentic-commerce ad pipeline — a separate path from the Microsoft UET tag, which does not fire on in-conversation purchases. This means Microsoft Ads conversion reporting and campaign optimization continue to work, but the conversion data does not appear in your UET tag’s event log.
A WordPress endpoint that accepts the Stripe or PayPal webhook, reads the Copilot session metadata from the checkout intent, writes it to the WooCommerce order as post meta, and fires the GA4 Measurement Protocol Purchase event, the Microsoft Ads CAPI conversion event, and the Meta CAPI Purchase event from the same handler. The webhook contains everything you need — the missing piece is a small server-side process that reads it and routes the conversion to each destination.
Not from the pixel. The browser never loads your domain, so the Meta Pixel never fires. If a customer first saw your product through a Meta-served ad and then later purchased through Copilot Checkout, the Meta Pixel will not record the sale and Meta’s bidding model will not learn from it. The recovery path is Meta’s Conversions API (CAPI) fired server-side from your order hook — pass the Meta click ID (fbc) and Meta browser ID (fbp) if they were captured earlier in the journey, plus the hashed customer email, and Meta will deduplicate against any pixel events that did fire.
References
- Microsoft Advertising (April 21, 2026). Win across all three eras of the web — Copilot Checkout expansion announcement. Source
- Microsoft Advertising Agentic Commerce documentation (2026). Copilot Checkout setup and merchant onboarding. Source
- Stripe (2026). Agentic Commerce Suite and Shared Payment Tokens documentation. Source
- PayPal (2026). Agentic commerce partner enablement. Source
- ZATO Marketing (April 2026). Microsoft Copilot Checkout metric shift commentary. Source
- Adobe Analytics via Substack analysis (January 2026). AI-driven retail traffic up 4,700% year over year. Source
The processor webhook is the conversion. Build the capture layer once, route the order to every destination it should have reached.



