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

# Analytics

> How Galantis Discount Flow measures campaign performance — every metric defined, how orders are attributed, how refunds are handled, and how to export your data.

Galantis Discount Flow tracks every campaign from storefront view to paid order, so you can see exactly what each discount costs and what it brings back. All numbers come from real Shopify order data — order created, order paid, refund created, and order cancelled webhooks — so what you see reflects actual orders, not estimates.

## Dashboard vs the Analytics page

The app gives you two views of the same underlying data:

* **Dashboard (Home)** — a quick daily health check: metric cards for **Active Campaigns**, **Total Usage** (applications, with a 7-day trend), **Total Revenue** (with the refunded amount shown alongside), and **Conversion Rate** (with total discounts given). Below the cards you get a **Revenue Trend** chart (Revenue + Refunds), a **Campaign Distribution** donut grouped by status, a **Needs Attention** list, **Top Performers** (your top 3 campaigns by revenue), **Recent Campaigns**, and a plan usage card. If your shop is on the Free plan and has hit its monthly cap, a usage-paused banner appears here.
* **Analytics page** — the deep-dive view with a longer time range, more charts, a per-campaign performance table, and CSV export.

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/digifist/images/galantis/discount/analytics/analytics-overview.png" alt="The Analytics page in Galantis Discount Flow showing metric cards, charts, and the campaign performance table" />
</Frame>

## Analytics page controls

Three controls at the top of the Analytics page shape everything below them:

| Control              | What it does                                                                                   |
| -------------------- | ---------------------------------------------------------------------------------------------- |
| **Period**           | Switches the reporting window between **Last 7 days**, **Last 30 days**, and **Last 90 days**. |
| **Include archived** | When checked, archived campaigns are included in metrics, charts, and the performance table.   |
| **Export CSV**       | Downloads the current view as a CSV file for your own reporting or spreadsheets.               |

<Tip>
  The **Conversion Rate** card compares the selected period against the previous period of the same length, so switching **Period** also changes the comparison baseline.
</Tip>

## Every metric, defined

Galantis Discount Flow records a small set of events per campaign and derives everything else from them:

| Metric               | Definition                                                                           |
| -------------------- | ------------------------------------------------------------------------------------ |
| Impressions          | Times the campaign was evaluated and shown on the storefront.                        |
| Applications (Usage) | Times the discount was applied in checkout.                                          |
| Conversions          | Paid orders attributed to the campaign.                                              |
| Revenue              | Total value of attributed paid orders. Refunds and cancellations reduce this figure. |
| Refunded             | Refunded and cancelled amounts, shown separately so you can see gross vs net.        |
| Discount             | Total discount amount given by the campaign.                                         |
| Conversion rate      | Conversions ÷ applications.                                                          |
| Discount ROI         | Revenue ÷ discount given — how much revenue each unit of discount generated.         |

<Note>
  Free-shipping-only campaigns don't report revenue columns, since the discount applies to delivery rather than product prices.
</Note>

## Charts

The Analytics page includes five visualizations for the selected period:

* **Revenue Trend** — revenue and refunds over time, plotted together.
* **Usage Trend** — discount applications over time.
* **Conversion Funnel** — impressions → applications → conversions, showing where customers drop off.
* **Campaign Distribution** — campaigns grouped by status.
* **Top Performers** — your highest-revenue campaigns.

## Campaign Performance table

The table at the bottom breaks results down per campaign with columns for **Campaign**, **Usage**, **Conv. Rate**, **Revenue**, **Discount**, **Refunded**, and **ROI**. Use it together with **Include archived** to compare retired campaigns against active ones.

## How attribution and refunds work

Orders are attributed back to the campaign automatically — you don't have to tag anything:

<Steps>
  <Step title="The discount carries a marker">
    Every published campaign embeds an invisible marker in its Shopify discount. For code-based campaigns, the discount code itself identifies the campaign.
  </Step>

  <Step title="Shopify webhooks report the order">
    When an order is created and paid, Shopify notifies Galantis Discount Flow, which matches the marker (or code) to the campaign and records a conversion, the revenue, and the discount amount given.
  </Step>

  <Step title="Refunds and cancellations flow back">
    When a refund is created or an order is cancelled, the attributed revenue is reduced and the refunded amount is shown separately — on the **Total Revenue** card, in the **Revenue Trend** chart, and in the **Refunded** column of the performance table.
  </Step>
</Steps>

<Warning>
  Because refunds reduce revenue after the fact, numbers for a recent period can decrease slightly over time as returns come in. This is expected — it means your ROI figures stay honest.
</Warning>

## Exporting data

Click **Export CSV** on the Analytics page to download the data for the currently selected **Period** (and archived campaigns, if **Include archived** is checked). The export mirrors what you see on screen, so set your filters first.

## Related guides

* [How discounts apply at checkout](/galantis/discount/storefront/how-discounts-apply) — where applications and conversions actually happen
* [Plans & limits](/galantis/discount/billing/plans-limits) — how Free-plan usage caps relate to the numbers you see here
* [Troubleshooting](/galantis/discount/support/troubleshooting) — what to check when numbers look off
