# Joy data in Shopify Analytics

{% hint style="info" %}
This feature is available for **Essential plan and above**.
{% endhint %}

### What is this feature?

Shopify Analytics can now recognise Joy data — both **loyalty metafields** (Point Balance, VIP Tier) and **Joy tags** (engaged members, assisted orders, referral activity) — as native filter and column options. You can build custom reports that combine store data (orders, revenue, sessions) with loyalty data, all inside Shopify admin. No export, no spreadsheet join, no external tool required.

The same data also powers **ShopifyQL** for advanced reporting. Joy ships ready-made templates so you don't have to write queries from scratch — see [ShopifyQL templates](#shopifyql-templates) below.

### Why you should use this feature

Before this feature, comparing loyalty performance against store performance meant exporting data from Joy, exporting again from Shopify, and joining them in a spreadsheet. Now both data sources live in the same report — you can slice revenue by VIP tier, track retention by point balance, or target campaigns without leaving Shopify admin.

**Common use cases:**

* **Revenue by VIP tier** — see how much revenue Gold tier contributes vs. other tiers
* **Retention by tier** — compare repeat-purchase rate between Bronze, Silver, Gold
* **Win-back targeting** — filter customers with a high point balance but no recent order
* **Top spenders by tier** — build a customer list for a VIP-only campaign
* **AOV by tier** — verify whether higher tiers actually spend more per order

### Requirements

* Joy plan: **Essential or above**
* **Show metafields on Shopify admin** must be turned on in Joy (see [Metafield Settings](/settings/general/sync-metafields.md))

### How to set up

{% embed url="<https://youtu.be/n4Mz55buf0w>" %}

{% stepper %}
{% step %}
**Turn on "Show metafields on Shopify admin" in Joy**

Go to **Joy → Settings → General** and turn on **Show metafields on Shopify admin**. Full setup: [Metafield Settings](/settings/general/sync-metafields.md).

Once on, Joy fields (Point Balance, VIP Tier) are automatically registered with Shopify Analytics — nothing else to click.
{% endstep %}

{% step %}
**If you had this setting on before the Analytics update — re-sync once**

Turn **Sync metafields from Joy to Shopify** off, then on again. This one-time refresh registers Joy fields with Shopify Analytics.

<figure><img src="https://tppr.me/Glxbaj" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**That's it — Joy fields are now in Shopify Analytics**

Joy fields (Point Balance, VIP Tier) appear as filters and columns inside any Shopify report. The fastest way to start using them is the **ShopifyQL templates** library described below.
{% endstep %}
{% endstepper %}

### Quickest way: ShopifyQL templates <a href="#shopifyql-templates" id="shopifyql-templates"></a>

ShopifyQL is Shopify's query language for custom reports — powerful but with a learning curve. To skip the writing, Joy ships a **ShopifyQL templates** library you can launch into Shopify Analytics with one click.

Open **Joy → Analytics** and click **ShopifyQL templates** in the top-right (chart icon). A modal opens with two tabs: **Analytics** (ShopifyQL queries) and **Customer Segments** (Shopify segment queries).

<figure><img src="/files/A2HIk19JS9D7GVjkNzKL" alt="Joy Analytics page with ShopifyQL templates button highlighted"><figcaption><p>Joy Analytics → ShopifyQL templates button</p></figcaption></figure>

For each template you can:

* **Open in Shopify** — launches the query directly in Shopify Analytics (or Shopify Customers → Segments) with everything pre-filled. No copy-paste needed.
* **Copy query** — copies the ShopifyQL string to your clipboard if you want to tweak it before running.

Templates use **your shop's actual tags and prefix** — Joy reads your custom Joy-assisted tag, redeemer tag, and discount prefix so the queries work on your store as-is. Recommended templates (most useful starting points) appear with a **Recommended** badge at the top.

A few of the queries available today:

* Joy-assisted total sales, AOV, order count, sales over time
* Returning customer rate among Joy redeemers
* Year-over-year sales comparison
* New vs. returning customer split
* Top products bought through Joy
* Day-of-week order patterns
* Total Joy discounts given
* Per-VIP-tier sales and AOV

The library keeps growing — open it whenever you want a new angle on loyalty performance. Full ShopifyQL syntax: [shopify.dev/docs/api/shopifyql](https://shopify.dev/docs/api/shopifyql).

{% hint style="info" %}
The modal shows a warning banner if **Show metafields on Shopify admin** is off — turn it on first ([Metafield Settings](/settings/general/sync-metafields.md)) so the queries can read VIP tier and point balance fields.
{% endhint %}

{% hint style="warning" %}
**Test orders won't show up in Analytics.** Shopify Analytics only counts real orders. If you're testing Joy + Analytics with draft orders or canceled test purchases, the report will look empty. Create a draft order, save it as a real order, then refresh Analytics after a few minutes.
{% endhint %}

### Joy tags in Shopify Analytics

Beyond metafields, Joy also syncs **customer and order tags** into Shopify. Tags work as filters and segments inside Shopify Analytics, Customers, Segments, and Shopify Email — useful when you want to slice data without writing a query.

| Tag                  | Applied to                                                               | Source feature                                                                            |
| -------------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------- |
| `Joy loyalty member` | Customers who interact with the loyalty program (Join, Sign up, Sign in) | [Auto-tag engaged members](/settings/additional-features/auto-tag-engaged-members.md)     |
| `Joy-assisted`       | Orders + customers that used a Joy coupon                                | [Add tags for orders and customers](/settings/order/add-tags-for-orders-and-customers.md) |
| `Joy Referral`       | Orders placed via a referral link                                        | [Referrals — Advanced settings](/reward-programs/referrals.md)                            |
| `Joy referral`       | Customers acquired through a referral                                    | Referrals → Customer tagging                                                              |
| `Joy referee`        | Customers who referred others                                            | Referrals → Customer tagging                                                              |

Tag names are configurable in each setting — the values above are the defaults.

#### Common use cases with tags

* **Joy-assisted revenue tracking** — Filter Sales by `Joy-assisted` tag to see total revenue from orders that used loyalty coupons. No separate "Export assisted orders" needed.
* **Loyalty member behaviour** — Compare AOV, repeat-purchase rate, or session conversion between customers tagged `Joy loyalty member` vs. untagged.
* **Referral channel performance** — Filter orders by `Joy Referral` to measure referral revenue, AOV, conversion rate.
* **Acquired-through-referral cohort** — Filter Customers by `Joy referral` tag to see lifetime value of referred customers vs. organic.

### FAQ

#### **I enabled the setting but Joy fields aren't in Shopify Analytics yet.**

Two likely reasons:

1. You enabled **Show metafields on Shopify admin** before the Shopify Analytics integration shipped. Turn **Sync metafields from Joy to Shopify** off and on again to re-sync.
2. Shopify caches analytics schema — give it a few minutes, then refresh the Analytics page.

#### **Why is VIP Tier missing but Point Balance is there?**

VIP Tier field is only created when your VIP Tier program is active. Go to **Membership → VIP Tiers** and make sure the program is on, then re-toggle **Show metafields on Shopify admin** in Joy.

#### **Can I use Joy fields in Shopify segments (not just Analytics)?**

Yes. Once metafields are on Shopify, they also show up in **Customers → Segments**. You can build segments like "VIP Tier is Gold AND last order > 60 days" and use them for Shopify Email or any app that reads segments.

#### **Does this cost extra?**

No. This is part of Joy's metafield sync feature — no additional fee, no Shopify add-on required. It's included in the Essential plan and above.

#### **Will this slow down my store?**

No. Metafields are synced in the background and stored on Shopify's side. Analytics reads them natively, so there's no extra API call or storefront impact.


---

# Agent Instructions: 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:

```
GET https://help.joy.so/analytics/shopify-analytics.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
