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

# Shopify - Integration Instructions

> Connect your Shopify store to SourceMedium with a one-click authorization.

## Follow this integration guide to connect your Shopify data to SourceMedium.

Shopify is the source of truth for your orders, customers, and products.

### How to connect

SourceMedium connects to Shopify with a secure authorization that you approve in your Shopify admin.

<Snippet file="connect-access-note.mdx" />

<Steps>
  <Step title="Enter your Shopify store domain">
    Find **Shopify** in the connector picker, enter your store domain, and click **Connect**. SourceMedium uses your permanent `.myshopify.com` domain (for example, `mystore.myshopify.com`); you can type just `mystore` or the full domain. This kicks off the Shopify authorization.

    <Tip>
      **How to find your store domain:** It is your permanent `.myshopify.com` address, not your customer-facing domain (like `mystore.com`). Two ways to find it:

      * **From your admin URL:** Log in to Shopify. The store name in the address bar, `admin.shopify.com/store/`**`mystore`**, means your domain is `mystore.myshopify.com`.
      * **From settings:** In your Shopify admin, go to **Settings → Domains**. Your `.myshopify.com` domain is always listed there, even if you sell on a custom domain.
    </Tip>
  </Step>

  <Step title="Authorize in Shopify">
    A Shopify window opens. Sign in if prompted, then approve the access SourceMedium requests. SourceMedium asks for **read-only** access to your orders, customers, products, inventory, locations, marketing events, returns, and fulfillment data, and nothing more.
  </Step>

  <Step title="Confirm it is connected">
    When you finish, the window closes and the connection shows **Connected**. SourceMedium begins its first sync automatically.
  </Step>
</Steps>

<Note>
  Shopify requires a store **Admin** to authorize the connection. If newer permissions are ever added, you may be asked to re-authorize before SourceMedium can read the additional data.
</Note>

## Product metadata changes

Shopify product and variant metadata is ingested into SourceMedium and appears in product and order reporting.

If you change a product name, variant name, SKU, product type, vendor, or product tags in Shopify:

* SourceMedium should pick up the changed metadata through the Shopify integration after the relevant sync and transformation refresh.
* Product reporting usually reflects the current Shopify product metadata after refresh, so historical orders may show the updated name.
* You usually do not need to create a SourceMedium-side mapping change for a normal Shopify product name edit.
* If the product is used in custom dashboard logic, custom SKU groupings, or Configuration Sheet rules, review those rules after the Shopify change.

If a product metadata change does not appear after the expected refresh window, send SourceMedium the Shopify product or variant ID, the field changed, old value, new value, and where you expected to see it.

## How subscription order classification works in Shopify

SourceMedium can classify Shopify subscription behavior using several signal types:

* direct subscription-platform integrations such as ReCharge, Skio, Stay AI, Loop Subscriptions, or Retextion
* explicit Shopify line-item metadata and properties
* legacy order tags and app/source signals

### Recommended merchant setup

To improve subscription reporting quality:

* Preserve explicit subscription properties emitted by your subscription app.
* Avoid relying only on order tags when line-item metadata is available.
* Share with SourceMedium if your app writes both subscription and one-time line-level indicators.

## Related resources

* [Order Type (sm\_order\_type)](/data-transformations/order-segmentation/order-type)
* [Subscription Flags](/help-center/core-concepts/data-definitions/subscription-flags)
* [Why doesn't ReCharge subscription data match SourceMedium reports?](/help-center/faq/data-faqs/why-doesnt-recharge-match-sourcemedium)
