> ## Documentation Index
> Fetch the complete documentation index at: https://docs.upstackdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Shopify

> Connect your Shopify store as a source to capture storefront events, orders, products, and customer data via the Upstack Pixel and webhooks.

<Note>
  **Data direction:** This is a **source** — data flows **into** Upstack from this platform for analytics, reporting, and enrichment.
</Note>

Shopify is your primary data source. Once connected, Upstack installs a lightweight pixel on your storefront to capture real-time visitor events and registers webhooks to receive order, product, and customer updates directly from Shopify's backend.

## Prerequisites

<Info>
  **Prerequisites:**

  * An Upstack Data account ([sign up for free](https://app.upstackdata.com))
  * Access to your workspace in the Upstack dashboard
</Info>

You'll also need:

* An **active Shopify store** on any plan (Basic, Shopify, Advanced, or Plus)
* **Store owner** or **staff** access with permission to install apps

## Setup

<Steps>
  <Step title="Install the Upstack Data app">
    Visit the [Shopify App Store listing for Upstack Data](https://apps.shopify.com) and click **Install**. Alternatively, in the Upstack dashboard navigate to **Integrations → Sources** and click **Connect Shopify** to be redirected to the Shopify install flow.

    <Info>
      If your organization manages multiple Shopify stores, you'll repeat this process for each store. Each store gets its own Pixel ID and appears as a separate source in your Upstack dashboard.
    </Info>
  </Step>

  <Step title="Authorize data access">
    Shopify prompts you to review the permissions Upstack requires:

    * **Read products** — to sync your product catalog for content ID matching
    * **Read orders** — to ingest purchase events and revenue data
    * **Read customers** — to enrich identity resolution with customer profiles
    * **Read and write script tags** — to install the Upstack tracking pixel on your storefront

    Click **Install app** to grant access. Upstack immediately begins configuring your store connection.
  </Step>

  <Step title="Verify the pixel is active">
    After installation, navigate to **Settings → Pixel** in the Upstack dashboard. You should see your Shopify store listed with a **Connected** status and a Pixel ID assigned.

    Open your Shopify storefront in a browser, browse a product page, and check the **Live Event Stream** in the Upstack dashboard. Events should appear within 60 seconds.
  </Step>
</Steps>

## What Data Is Ingested

Shopify provides three categories of data to Upstack:

| Data Type             | Source              | Frequency      | Key Fields                                                        |
| --------------------- | ------------------- | -------------- | ----------------------------------------------------------------- |
| **Storefront events** | Browser pixel       | Real-time      | Page views, product views, add-to-cart, checkout, purchase        |
| **Order data**        | Webhooks            | Near real-time | Order ID, line items, revenue, discounts, shipping, customer info |
| **Product catalog**   | API sync            | Every 6 hours  | Product ID, title, variants, price, images, inventory status      |
| **Customer profiles** | API sync + webhooks | Near real-time | Email, name, address, order history, tags                         |

<Info>
  Upstack also performs a **historical backfill** of your last 90 days of orders and customer data during initial setup. This gives you attribution data from day one without waiting for new events to accumulate.
</Info>

## You'll Know It's Working When...

<Tip>
  **Verification checklist:** Complete all items below to confirm your setup is working correctly. If any check fails, see the troubleshooting section below or the relevant [troubleshooting guide](/troubleshooting/events-not-reaching-destination).
</Tip>

* [ ] Your Shopify store shows **Connected** status in the Upstack dashboard under **Integrations → Sources**
* [ ] A Pixel ID is assigned and visible under **Settings → Pixel**
* [ ] Browsing your storefront generates `PageView` events in the **Live Event Stream** within 60 seconds
* [ ] A test order generates a `Purchase` event with correct revenue and order details

## Troubleshooting

<AccordionGroup>
  <Accordion title="No events appearing in the Live Event Stream">
    **Check that the pixel is installed correctly** by inspecting your storefront's page source. Search for `upstack` in the HTML — you should see the pixel script tag in the `<head>` section.

    **Steps to fix:**

    1. Go to **Settings → Pixel** in the Upstack dashboard and confirm the status is **Connected**
    2. Open your storefront in an incognito/private browser window (extensions and ad blockers can interfere)
    3. Browse a product page, then check the Live Event Stream
    4. If still no events, go to your Shopify admin → **Settings → Customer events** and verify the Upstack pixel is listed and enabled

    If the pixel is missing from Shopify's customer events, try uninstalling and reinstalling the Upstack app.
  </Accordion>

  <Accordion title="Orders not syncing to Upstack">
    Order data arrives via Shopify webhooks. If orders are missing:

    1. Check **Integrations → Sources → Shopify** in the Upstack dashboard for any webhook error indicators
    2. Verify your Shopify store hasn't hit webhook rate limits (common during flash sales)
    3. Confirm the Upstack app still has **Read orders** permission in your Shopify admin → **Settings → Apps and sales channels → Upstack Data**

    Webhooks that fail are retried automatically by Shopify for up to 48 hours. If data is delayed but eventually arrives, this is normal behavior during high-traffic periods.
  </Accordion>

  <Accordion title="Historical data not appearing after install">
    The initial backfill of historical orders and customers can take up to 2 hours depending on your store's volume. Check the **Sources** tab for a progress indicator.

    If backfill hasn't completed after 4 hours, contact [support@upstackdata.com](mailto:support@upstackdata.com) with your Pixel ID.
  </Accordion>
</AccordionGroup>

***

**Still stuck?** Contact [support@upstackdata.com](mailto:support@upstackdata.com) with your Pixel ID and a description of the issue. We typically respond within a few hours.

## Related

<CardGroup cols={2}>
  <Card title="Shopify Webhooks" icon="webhook" href="/sources/shopify-webhooks">
    How Upstack uses Shopify webhooks for real-time order and customer updates.
  </Card>

  <Card title="Verify Events Are Flowing" icon="check" href="/get-started/verify-events">
    Step-by-step guide to confirm your Shopify source is working end-to-end.
  </Card>

  <Card title="Server-Side Tracking" icon="server" href="/concepts/server-side-tracking">
    Learn how the Upstack Pixel captures events and why server-side delivery matters.
  </Card>
</CardGroup>
