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 conversionsread_customer_events— to receive storefront pixel eventswrite_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 sessiontotal_priceandcurrency— the conversion revenuecreated_at— the conversion timestamporder_number,customer.id— references for the dashboardline_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 event | Simmer event |
|---|---|
page_viewed | page_view |
product_viewed | product_view |
collection_viewed | collection_view |
search_submitted | search |
product_added_to_cart | add_to_cart |
product_removed_from_cart | remove_from_cart |
cart_viewed | cart_view |
checkout_started | checkout_start |
checkout_completed | checkout_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.