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

# D2C Insights

> Pull D2C orders from connected Shopify stores to power hot-near-store indicators in Keystone.

<Note>
  **Who this is for:** Brand administrators. Go to **Settings → D2C Insights**.
</Note>

**D2C Insights** pulls direct-to-consumer (D2C) order data from connected Shopify store(s). Once data lands, **"hot near this store"** indicators appear on catalog pages, account views, email campaigns, and the **D2C Top Sellers** dashboard widget.

Consumer rows go only into Insights (`d2c_sale`). They are **never** mixed into wholesale order history — even when B2B and D2C share one Shopify store.

## Enrolling

1. Go to **Settings → D2C Insights**.
2. Toggle **Enable D2C Insights** on.
3. Opt in **nightly order sync** on a connected Shopify store:
   * **Inventory-only** shop (separate D2C store) — all orders treated as consumer.
   * **Same store** as B2B — Keystone keeps only non-B2B orders (no company purchasing entity, no configured B2B customer tags / company contacts). Untagged retail counts as D2C.
4. Use **Sync now** or wait for the nightly job.

<Tip>
  Enrollment may be blocked until Keystone's ZIP reference data is fully loaded. If you see a message that the program is not yet available, contact [support@keystoneb2b.io](mailto:support@keystoneb2b.io).
</Tip>

## How data is pulled

Each night (and when you click **Sync now**), Keystone queries the store's Admin API for orders from the last **30 days**, then replaces that store's D2C rows for the window. We only keep:

| Field        | Description                                      |
| ------------ | ------------------------------------------------ |
| SKU          | Line-item SKU (must match your Keystone catalog) |
| Quantity     | Units sold                                       |
| Shipping ZIP | Consumer ship-to ZIP (US 5-digit)                |
| Sale date    | Order processed date                             |

Name, email, and street address are **not** stored.

## After a pull

The settings page lists recent pulls with accepted/rejected counts and status. Same-store pulls also report how many B2B orders were skipped. Successful pulls refresh hot-near-store rankings shortly after.

## Fine-tuning

On the same page, configure:

| Setting               | Purpose                                                      |
| --------------------- | ------------------------------------------------------------ |
| **Ignored SKUs**      | Exclude specific SKUs from D2C analysis                      |
| **Ignored tags**      | Exclude products with certain tags                           |
| **Minimum inventory** | Only surface "hot" SKUs when wholesale ATS meets a threshold |

## Related

* [Dashboard](/features/dashboard) — **D2C Top Sellers** widget
* [Email Campaigns](/features/email-campaigns) — campaign content can reference D2C heat signals
