Meridian’s analytics dashboard connects directly to the Shopify Partner API and computes every metric you need to understand how your app is growing — from top-level revenue signals down to individual uninstall reasons. All data refreshes in real time, and every chart and table responds to the date range you set, so you can compare any period against the previous one.Documentation Index
Fetch the complete documentation index at: https://help.the-meridian.ai/llms.txt
Use this file to discover all available pages before exploring further.
Date range filtering
Select a custom start and end date from the date picker at the top of the dashboard. Every metric, chart, and breakdown on the page will update to reflect that window. Meridian also computes the equivalent previous period automatically, so growth percentages are always apples-to-apples comparisons.Key performance indicators
The KPI row at the top of the dashboard surfaces the most important signals at a glance.MRR & ARR
Monthly Recurring Revenue (
currentMRR) and Annual Recurring Revenue (currentARR) shown alongside their growth percentage vs. the previous period (mrrGrowthPercent, arrGrowthPercent). ARR is always MRR × 12.Active shops
Total active shops (
totalActiveShops) with a period-over-period comparison (previousActiveShops, activeShopsGrowthPercent). Counts shops with a live subscription or active install.Installs & uninstalls
Total installs (
totalInstalls) and total uninstalls (totalUninstalls) for the selected date range. Use these to track organic acquisition and early churn signals.Churn rate
Churn rate (
churnRate) as a percentage, compared to the previous period (previousChurnRate, churnRateGrowthPercent). Calculated from subscriptions lost vs. active at period start.ARPU
Average Revenue Per User (
arpu) — total MRR divided by the number of paying active shops in the period.Average CLV
Average Customer Lifetime Value (
avgClv) across all paying shops, alongside average time to uninstall (avgTimeToUninstallDays) for shops that churned.MRR change breakdown
The MRR movement waterfall shows exactly what drove the net change in recurring revenue for the selected period.| Field | Description |
|---|---|
new | Revenue added from first-time subscriptions |
expansion | Revenue gained from merchants upgrading to a higher plan |
contraction | Revenue lost from merchants downgrading |
churn | Revenue lost from cancellations or uninstalls |
netChange | Sum of all four components — the net MRR delta for the period |
A positive
netChange means your MRR grew. A negative value means contraction outpaced new and expansion revenue.Trial metrics
Track the health of your trial funnel with the trial metrics panel.| Field | Description |
|---|---|
activeTrials | Shops currently in an active trial |
trialShops | Shops that installed and have not yet been billed (within trial window) |
convertedInPeriod | Trial shops that accepted a subscription charge in the period |
lostInPeriod | Trial shops that uninstalled or let the trial expire without converting |
Subscription status breakdown
Every shop Meridian tracks has one of seven subscription statuses. Use the status breakdown chart to understand where your shop base sits across the funnel.Paying
Paying
The shop has an active, recurring subscription charge. These are your revenue-generating merchants.
Trial
Trial
The shop is within an active trial period and has not yet accepted a subscription charge.
Lead
Lead
The shop installed your app but has never triggered a subscription charge. They may be exploring or using a free tier.
Installed
Installed
The shop has the app installed — in trial or awaiting first billing — but no active charge yet.
Churned after trial
Churned after trial
The shop had a trial period but uninstalled or expired without ever converting to a paid plan.
Churned
Churned
The shop was paying and then cancelled or uninstalled.
Uninstalled
Uninstalled
The shop removed the app. May have been paying, trialing, or a lead.
Plan breakdown
The plan breakdown table shows per-plan revenue and subscriber counts. For each plan in your Shopify billing configuration, Meridian surfaces:| Field | Description |
|---|---|
plan | The plan name as it appears in your Shopify Billing API configuration (e.g., “Launch”, “Grow”) |
revenue | Total MRR attributed to this plan |
subscribers | Number of active paying shops on this plan |
Monthly metrics chart
The monthly metrics chart plots key signals over time so you can spot trends and seasonality.- Revenue
- Installs
- Active shops
- Churn rate
MRR over time — the
mrr field from each MonthlyMetrics data point (e.g., "2025-01", "2025-02"). Hovering a data point shows the exact MRR for that month.label (e.g., "Jan 2025") and a sortable month key (e.g., "2025-01").
Uninstall reasons
When a merchant uninstalls your app, Shopify’s Partner API captures the reason they selected. Meridian aggregates these into a ranked table.| Field | Description |
|---|---|
reason | The reason code returned by the Partner API (e.g., "MISSING_FEATURE", "SWITCHED_APP") |
description | The merchant’s optional free-text description, if provided |
count | How many merchants selected this reason in the selected date range |
Shopify event types
Meridian ingests the following raw event types from the Shopify Partner API. You’ll see these in the Recent Events feed and in per-shop activity timelines.Relationship events
Relationship events
| Event type | Description |
|---|---|
RELATIONSHIP_INSTALLED | A merchant installed your app |
RELATIONSHIP_UNINSTALLED | A merchant uninstalled your app |
RELATIONSHIP_REACTIVATED | A previously inactive relationship was reactivated |
RELATIONSHIP_DEACTIVATED | The app relationship was deactivated |
Subscription charge events
Subscription charge events
| Event type | Description |
|---|---|
SUBSCRIPTION_CHARGE_ACCEPTED | A merchant accepted a subscription charge |
SUBSCRIPTION_CHARGE_ACTIVATED | The subscription charge became active (billing started) |
SUBSCRIPTION_CHARGE_DECLINED | A merchant declined the charge |
SUBSCRIPTION_CHARGE_EXPIRED | The charge offer expired before acceptance |
SUBSCRIPTION_CHARGE_CANCELED | An active subscription was cancelled |
SUBSCRIPTION_CHARGE_FROZEN | The subscription was frozen (e.g., store paused) |
SUBSCRIPTION_CHARGE_UNFROZEN | The subscription resumed after being frozen |
One-time charge events
One-time charge events
| Event type | Description |
|---|---|
ONE_TIME_CHARGE_ACCEPTED | A merchant accepted a one-time charge |
ONE_TIME_CHARGE_ACTIVATED | The one-time charge was processed |
ONE_TIME_CHARGE_DECLINED | A merchant declined the one-time charge |
ONE_TIME_CHARGE_EXPIRED | The one-time charge offer expired |
Top customers by CLV
The Top Customers widget surfaces your highest-value shops ranked byclv (customer lifetime value — total revenue collected from that shop). Each row in the table includes:
- Shop name and
myshopifyDomain - Current plan and plan amount
installedAtand, if applicable,uninstalledAtdatessubscriptionStatusandactivationDatetimeToUninstallDaysfor any churned shopsuninstallReasonanduninstallDescriptionif the shop churned
CLV is calculated as the sum of all
SUBSCRIPTION_CHARGE_ACTIVATED and ONE_TIME_CHARGE_ACTIVATED events for each shop since their first install.