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

# Shopify

> Connect one or more stores, control the revenue rollup, and grant advanced permissions deliberately.

Shopify syncs products, collections, orders, and revenue from every connected store in the active workspace.

## Before you connect

* Use a Marketer Owner, Admin, or Member role.
* Be able to authorize the Marketer app for the store.
* Have the custom domain or `.myshopify.com` URL.
* Decide which stores should contribute to blended revenue, ROAS, and MER.
* Start with the base read-only connection; grant advanced permissions only for a defined use case.

## Connect the first store

<Steps>
  <Step title="Open Shopify">
    Go to **Integrations** → **Shopify**.
  </Step>

  <Step title="Enter the store address">
    Under **Connect a Shopify store**, enter **Shopify store URL**. The field accepts a custom domain or `.myshopify.com` address.
  </Step>

  <Step title="Authorize Shopify">
    Select **Connect** and complete Shopify's install flow. Marketer resolves the canonical store before saving it.
  </Step>

  <Step title="Verify the store row">
    Confirm the store name or domain, **Store currency**, and **Connected** date under **Stores**.
  </Step>
</Steps>

The base connection provides the minimum read-only access for products, orders, and inventory. Provider permissions still determine which history Shopify returns.

## Connect multiple stores

The page shows **One store connected to this workspace** or **N stores connected · N included in revenue rollup**.

Select **Add another store** to authorize a sibling storefront or Shopify Plus organization store. Each store has an independent connection, sync, currency, and revenue-rollup setting.

### Control the blended revenue rollup

Use **Include in revenue rollup** per store.

* Included stores contribute to blended revenue, ROAS, and MER.
* Excluding a store keeps its historical revenue available but removes it from the blended rollup.
* Changing the toggle does not disconnect or erase the store.

Record the date of a rollup change so later comparisons do not mix different store scopes.

## Follow catalog sync

Under **Data sync**, check **Catalog status**, product and collection counts, last sync, and coverage.

| Sync state                | Response                                                               |
| ------------------------- | ---------------------------------------------------------------------- |
| **Syncing**               | Wait for catalog and order coverage to advance                         |
| **All synced**            | Verify counts, latest date, and connected stores                       |
| Failed or incomplete      | Use **Resync** after the store authorization is healthy                |
| In flight but wrong scope | Use the available cancel control, correct store settings, then restart |

A normal resync refreshes data. It does not repair a rejected store authorization.

## Grant advanced permissions

Each store can show **Advanced permissions** with an enabled-count summary or a read-only state. Select **Grant permission** for one capability or **Grant all** only after reviewing every effect.

| Capability                          | What it enables                                                                   | Important consequence                                                                                   |
| ----------------------------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| **Full order history**              | Imports every order                                                               | Without it, Shopify can withhold orders older than 60 days, leaving older revenue and trends incomplete |
| **Customer analytics**              | New-versus-returning customers, repeat purchase rate, and customer lifetime value | Accuracy also depends on **Full order history**                                                         |
| **Push enhanced images to Shopify** | Writes enhanced images into the product gallery                                   | This is a provider-side write permission                                                                |
| **Theme editing**                   | Reads and updates the storefront theme                                            | This is a provider-side storefront change permission                                                    |

Advanced permissions are additive. Granting one does not remove existing access. A newly granted data permission can trigger a fresh historical import.

<Warning>
  **Push enhanced images to Shopify** and **Theme editing** cross the read-only boundary. Grant them only when the intended workflow, reviewer, and rollback path are clear.
</Warning>

## Read connection states

| State                  | Meaning                                                               | Next action                                 |
| ---------------------- | --------------------------------------------------------------------- | ------------------------------------------- |
| **Status unavailable** | The latest Shopify check failed; last-known connection details remain | Refresh before changing a store             |
| **Disconnected**       | No store is connected                                                 | Enter a store URL and select **Connect**    |
| **Reconnect needed**   | One or more store credentials are rejected                            | Reconnect the affected store                |
| **Connected**          | At least one store authorization is healthy                           | Verify every store, rollup toggle, and sync |

## Recover one store without disrupting others

When a row needs authorization, select **Reconnect \[store]**. Reconnecting affects only that store; healthy sibling stores remain connected and continue syncing.

If one store has unexpected totals:

1. Confirm its canonical domain and **Store currency**.
2. Check **Include in revenue rollup**.
3. Confirm **Full order history** if the date range extends beyond recent orders.
4. Check sync coverage.
5. Reconnect only if the store credential is rejected.

Disconnecting one of several stores leaves the others active. Disconnecting the last store removes Shopify from the workspace.

## Next step

Validate one completed day of orders and revenue for each store, then confirm the intended included-store count before using blended ROAS or MER.


## Related topics

- [Troubleshoot integrations](/integrations/troubleshooting.md)
- [Catalog, product detail, and image enhancement](/product-guides/products-catalog-and-enhancement.md)
- [Products](/product-guides/products.md)
- [Performance and custom views](/product-guides/analytics-performance-and-views.md)
- [Creatives](/product-guides/creatives.md)
