We’re upgrading our email infrastructure — for immediate response, email andrewjgaber@gmail.com meanwhile.
Skip to main content
Part of Digital Empire
Affiliate / Other

Yotpo reviews pixel (checkout-triggered order sync)

Yotpo · Web Pixels API replacement · confidence: medium

Dies 2026-08-26

Paste-ready snippet
// Before using this template: Yotpo's official Shopify app syncs orders via
// Shopify's order webhooks (server-to-server), NOT via a checkout.liquid
// script — if the merchant installed Yotpo through the Shopify App Store,
// review-request emails are almost certainly unaffected by Aug 26. This
// template is only for a HAND-ROLLED checkout.liquid script that pushed
// order data to Yotpo's client-side API directly (uncommon, but found in
// older custom integrations).
analytics.subscribe('checkout_completed', (event) => {
  const { checkout } = event.data;
  if (!checkout || !checkout.email) return;

  fetch('https://api.yotpo.com/v1/apps/YOTPO_APP_KEY/purchases', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    keepalive: true,
    body: JSON.stringify({
      email: checkout.email,
      order_id: checkout.order ? checkout.order.id : checkout.token,
      order_amount: checkout.totalPrice ? checkout.totalPrice.amount : undefined,
      currency_iso: checkout.totalPrice ? checkout.totalPrice.currencyCode : undefined,
      order_date: new Date().toISOString(),
    }),
  });
});

Legacy pattern detected via: staticw2\.yotpo\.com|yotpo\.initialized|yotpoWidgetsContainer

What this does NOT cover

What this does NOT cover: Yotpo on-site review WIDGET display logic (a separate, non-checkout storefront script) — this template is scoped to the order-sync/review-request trigger only.

Test-event verification checklist

  • Confirms Yotpo's official Shopify app is NOT already installed and syncing orders server-side — if it is, this custom pixel is redundant and should not be added (duplicate review-request risk).
  • checkout.email requires the read_customer_email scope — this call is skipped entirely if email is unavailable, since Yotpo cannot send a review request without one.
  • order_id uses checkout.order.id (falls back to checkout.token) to match the Shopify order Yotpo displays in its dashboard.
  • Verify live against the platform's own test-event tool: https://apidocs.yotpo.com/reference/create-a-purchase

Related paste-ready snippets

Affiliate + Reviews networks · AWIN, ShareASale, Impact, Rakuten, and Yotpo reviews — all post-purchase pixels with identical Aug 26 exposure.