Simmer Docs

Shopify

Connect Shopify to ingest orders as conversions and storefront events as engagement.

Connecting Shopify gives Simmer the conversion event (a paid order) and the customer email needed to stitch the order back to a browsing journey. Storefront events (product views, add-to-cart, checkout starts) are also ingested as engagement signals.

Connect via OAuth

In the dashboard, go to Settings → Integrations → Connect Shopify and enter your store URL. You'll be redirected to Shopify to authorize the app, then back to Simmer to confirm which project the store should link to.

Simmer requests these scopes:

  • read_orders — to receive paid order events as conversions
  • read_customer_events — to receive storefront pixel events
  • write_pixels — to install and manage Simmer's web pixel on your storefront

Tokens are encrypted at rest.

Order events as conversions

Simmer subscribes to Shopify's orders/create webhook. When a new order is created, Simmer extracts:

  • email — used to link the order to a tracked browser session
  • total_price and currency — the conversion revenue
  • created_at — the conversion timestamp
  • order_number, customer.id — references for the dashboard
  • line_items, discount_codes, source_name, financial_status — stored as metadata

Each created order with an email and total becomes one conversion. Note that Simmer doesn't currently subscribe to refund or cancellation webhooks — once an order is recorded, it stays in the conversion totals even if it's later refunded or cancelled.

Storefront events

The Shopify Web Pixel forwards these events to Simmer for journey reconstruction:

Shopify eventSimmer event
page_viewedpage_view
product_viewedproduct_view
collection_viewedcollection_view
search_submittedsearch
product_added_to_cartadd_to_cart
product_removed_from_cartremove_from_cart
cart_viewedcart_view
checkout_startedcheckout_start
checkout_completedcheckout_complete

These events feed engagement scoring — sessions with add_to_cart and checkout_start count as higher-intent than pure browsing, so they get more weight in multi-touch attribution.

Stitching orders to journeys

The customer email on the order is used to find the matching browser session — either via a previous identify() call in the storefront pixel, or via direct email match if the customer has interacted with a HubSpot form on the same site. Orders without a stitched session still appear in the dashboard but as unattributed revenue.

On this page