For app developers, building merchant-facing analytics has always meant standing up your own stack: a charting library, a data warehouse to sync merchant data into, handling currencies and locales, and a UI that never quite matched the Shopify admin. With these updates, Shopify Analytics becomes a full-stack analytics platform that apps can build on directly, offloading the infrastructure to Shopify and putting your app's data where merchants already make decisions.
Here's what shipped, and how it fits together.
Anchor to Bring your app's data into Shopify AnalyticsBring your app's data into Shopify Analytics
Metafields
Mark a metafield definition as analytics-queryable, and it becomes a dimension in ShopifyQL alongside store data. Add, for example, a metafield to an order or a metafield to a customer. Merchants can group, filter, and chart on it—no ETL, no separate schema.
FROM sales
SHOW total_sales
GROUP BY order.metafields.my_app.campaign_source
TIMESERIES day
VISUALIZE total_sales
App Events (early access)
App Events in Analytics makes the custom events your app already emits queryable in Shopify Analytics. Declare events from the new registry in shopify.app.toml, emit them through the App Events API, and merchants can query in ShopifyQL the same way they query their store data.
FROM app_events
SHOW emails_sent
GROUP BY app_name
TIMESERIES day
VISUALIZE total_sales
Anchor to Query it: ShopifyQL API + dev docsQuery it: Shopify QL API + dev docs
The ShopifyQL API, Shopify's analytics query layer, is now a first-class part of the platform, with schema-level reference documentation on shopify.dev. Every metric and dimension is defined in the docs with its type, description, and working examples.
Why it matters:
- For developers: Build against a stable, versioned, schema-documented surface.
- For LLMs and agents: Public schema docs mean AI toolchains can generate working ShopifyQL.
Anchor to Embed it: Analytics Web ComponentsEmbed it: Analytics Web Components
The same web components that render analytics in the Shopify admin— the metric card (<s-shopifyql-metric-card>), the metrics bar (<s-metrics-bar>), and its date picker (<s-metrics-bar-date-picker>)—are now available for third-party apps to embed. Render a chart with a single element:
<s-shopifyql-metric-card
heading="My weekly sales"
query="FROM sales SHOW total_sales TIMESERIES week VISUALIZE total_sales TYPE bar">
</s-shopifyql-metric-card>
Load analytics-ui.js (after polaris.js), enable Direct API access, then drop in the element. No charting library. No currency or locale handling. No data-formatting code. The component runs the query, renders the chart, and stays in sync with the Shopify admin.
Anchor to Enrich it: Annotations API + Metric Targets APIEnrich it: Annotations API + Metric Targets API
Two new APIs let apps and merchants add context on top of the numbers.
Annotations API
Partner apps can now create annotations directly on merchant charts through the GraphQL Admin API. Loyalty apps can mark the day a program launched; email apps can mark a new campaign; subscription apps can mark a pricing change—with proper app attribution rendered in the chart panel.
Required scopes: , .
Metric Targets API
Merchants can now set targets on any metric—total sales next quarter, ad-attributed revenue this week—and track progress visually inside reports and dashboards. Targets are a new core primitive in the GraphQL Admin API, so apps can create, read, and overlay them on charts programmatically.
How it fits together
- Model your data with Metafields (and App Events, in early access).
- Query with the ShopifyQL API.
- Embed with Analytics Web Components.
- Enrich with Annotations and Metric Targets.
All inside Shopify, where merchants already make decisions.
Anchor to Get startedGet started
- Analytics for Developers
- Metafields
- App Events in Analytics — Sign up for early access
- ShopifyQL API
- Web Components
- Annotations API
- Metric Targets API