> For the complete documentation index, see [llms.txt](https://docs.coupler.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coupler.io/sources/category/ecommerce/shopify/data-overview.md).

# Data Overview

Coupler.io's Shopify source pulls structured e-commerce data directly from your Shopify store via the GraphQL API. You select one data entity per data flow and choose which columns to include (for order-related entities).

## What data is available?

Entities are organized into two groups.

#### Basics

| Entity        | Description                                                             | Typical use case                             |
| ------------- | ----------------------------------------------------------------------- | -------------------------------------------- |
| **Orders**    | Order-level data — totals, status, customer info, payment gateway, tags | Daily sales reports, revenue dashboards      |
| **Products**  | Product catalog — title, vendor, status, published/updated dates        | Product management, catalog sync             |
| **Inventory** | SKU-level stock quantities across locations                             | Inventory tracking, reorder alerts           |
| **Customers** | Customer records — name, email, total spent, last order info            | Customer lists, marketing segments, CRM sync |

#### Order & product breakdowns

| Entity                                 | Description                                                                  | Typical use case                            |
| -------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------- |
| **Products with variants**             | Products split by variant — one row per variant with price, SKU, inventory   | Variant-level pricing, SKU analysis         |
| **Orders with line items**             | Orders split by line item — one row per product in each order                | Product sales analysis, SKU-level reporting |
| **Order fulfillments with line items** | Orders with fulfillment details — tracking info, delivery dates, line items  | Shipping and logistics tracking             |
| **Orders with shipping lines**         | Orders with shipping method details — carrier, cost, delivery category       | Shipping cost analysis                      |
| **Orders refunds transactions**        | Orders with refund and transaction details — refund amounts, gateway, status | Refund analysis, financial reconciliation   |

## Column selection

For all order-related entities (Orders, Orders with line items, Order fulfillments, Orders with shipping lines, Orders refunds transactions), you can choose exactly which columns to include. Columns are organized into groups:

| Column group                      | Available in                | Examples                                                                           |
| --------------------------------- | --------------------------- | ---------------------------------------------------------------------------------- |
| **Order**                         | All order entities          | Order name, Created at, Financial status, Fulfillment status, Tags, Discount codes |
| **Customer**                      | All order entities          | Customer name, Amount spent                                                        |
| **Billing address**               | All order entities          | Country                                                                            |
| **Customer journey**              | All order entities          | Customer order index, Days to conversion                                           |
| **Order totals in shop currency** | All order entities          | Current order total, Net payment, Discounts, Tax, Shipping, Duties                 |
| **Line items**                    | Orders with line items      | SKU, Quantity, Line item name                                                      |
| **Line items totals**             | Orders with line items      | Discounted total, Original total, Unit price                                       |
| **Fulfillment**                   | Order fulfillments          | Fulfillment name, Status, Created/Delivered/In-transit dates, Tracking info        |
| **Fulfillment line item**         | Order fulfillments          | Line item name, SKU, Quantity, Unfulfilled quantity                                |
| **Shipping line**                 | Orders with shipping lines  | Code, Title, Source, Delivery category                                             |
| **Shipping line totals**          | Orders with shipping lines  | Original price, Discounted price                                                   |
| **Refund**                        | Orders refunds transactions | Refund created at, Note, Total refund amount                                       |
| **Refund transaction**            | Orders refunds transactions | Account number, Gateway, Status, Amount                                            |

{% hint style="info" %}
The **Store name**, **Entity ID** (e.g., Order ID), and **Updated At** columns are always included regardless of your column selection.
{% endhint %}

## Filtering parameters

| Parameter                  | Purpose                                                   | Available for                                                                           |
| -------------------------- | --------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| **Created after / before** | Filter by record creation date                            | All entities except Inventory                                                           |
| **Changed after / before** | Filter by last update date                                | All entities                                                                            |
| **Filter after ID**        | Export records with ID greater than a value               | All entities except Inventory                                                           |
| **Status**                 | Filter orders by status (Any, Open, Closed, Cancelled)    | Order entities                                                                          |
| **Financial status**       | Filter by payment status (Paid, Pending, Refunded, etc.)  | Orders, Orders with line items, Orders with shipping lines, Order fulfillments          |
| **Fulfillment status**     | Filter by fulfillment (Shipped, Unshipped, Partial, etc.) | Orders, Orders with line items, Orders with shipping lines, Orders refunds transactions |
| **Product status**         | Filter by product status (Active, Archived, Draft)        | Products, Products with variants                                                        |

## Common data combinations

| Goal                       | Entity                             | Configuration                                          |
| -------------------------- | ---------------------------------- | ------------------------------------------------------ |
| Daily sales dashboard      | Orders                             | Created after = last 30 days, Financial status = Paid  |
| Product-level sales report | Orders with line items             | Select SKU, Quantity, and Line item totals columns     |
| Refund analysis            | Orders refunds transactions        | Financial status = Refunded or Partially refunded      |
| Inventory snapshot         | Inventory                          | Changed after = yesterday for recent changes           |
| Shipping performance       | Order fulfillments with line items | Select Fulfillment status, Delivered at, In transit at |
| Customer lifetime value    | Customers                          | Default columns include Total spent and Last order     |

## Use cases by role

{% tabs %}
{% tab title="E-commerce / Sales" %}
Track daily revenue, average order value, and top-selling products. Use Orders with line items to build SKU-level sales reports. Combine with advertising data (Facebook Ads, Google Ads) to calculate true ROAS by matching order revenue to ad spend.
{% endtab %}

{% tab title="Operations / Logistics" %}
Monitor fulfillment status and shipping timelines using Order fulfillments with line items. Track inventory levels across locations with the Inventory entity. Set up daily refreshes to catch stock-outs early.
{% endtab %}

{% tab title="Finance" %}
Reconcile order totals, refunds, and net payments using Orders refunds transactions. Export to BigQuery or Google Sheets for month-end close. Use date filters to scope each run to the relevant period.
{% endtab %}

{% tab title="Marketing" %}
Build customer segments using the Customers entity — filter by total spent, order count, or recency. Use the Customer journey columns (Days to conversion, Customer order index) to analyze first-time vs. repeat buyer behavior.
{% endtab %}
{% endtabs %}

## Platform-specific notes

* **GraphQL vs. REST** — The current Shopify source uses Shopify's GraphQL API. Legacy sources (REST-based) are deprecated and labeled "Shopify (legacy)" in the UI. Some column names differ between versions — see the [migration article](https://help.coupler.io/article/589-meet-the-new-shopify-graphql-source) if you're switching.
* **Column selection** — Only available for order-related entities. Products, Inventory, and Customers always return all available columns.
* **Customer journey data** — New in v4. Includes Customer order index (is this their 1st, 2nd, 5th order?) and Days to conversion. Available in all order entities.
* **Shopify reports and analytics are not available** — Coupler.io pulls raw entity data from Shopify, not Shopify's built-in reports or analytics dashboards. Metrics like conversion rate, sessions, and traffic sources are not accessible via the Shopify API.
* **Metafields** — Standard product and variant fields are included. Custom metafields (e.g., wholesale price, custom attributes) are not currently available as separate columns in the export.
* **Date filter timezone** — Date filters use your browser's timezone, not Shopify's store timezone. If they differ, orders near the day boundary may appear in unexpected date ranges.
* **Test orders** — By default, test orders created by Shopify's Bogus Gateway are included in exports. Filter them out using the "Is Test Order?" column in your destination or transformations.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.coupler.io/sources/category/ecommerce/shopify/data-overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
