Skip to content
Hiro Analytics Help Center home

How to Remove Recurring Subscription Revenue in Hiro

If recurring subscription revenue (from Recharge, Skio, Loop, etc.) is inflating your attribution numbers, you can filter it out in a couple of clicks.

This guide covers:

  • How Shopify tags subscription orders

  • How to exclude recurring subscription revenue from reporting

  • How to track new subscription events separately

  • What to expect after you filter

How Shopify tags subscription orders

Every Shopify order carries an Order Source (source_name) that tells you where the order came from. For subscription businesses, this field is what separates a customer's first subscription purchase from every renewal after that.

First subscription purchase → web.

Every renewal after → subscription_contract*.

  • web → a fresh storefront checkout. The first charge of a new subscription lands here, because it's really a regular cart that also created a subscription contract behind the scenes.

  • subscription_contract / subscription_contract_checkout_one → a recurring charge Recharge pushed to Shopify on a scheduled date. No new cart, just the next billing cycle firing.

This is why excluding subscription_contract* removes recurring revenue without losing the initial acquisition — the first purchase is safely over in web.

Order Source reference

Order Source

What it means

All Orders

Everything — recurring revenue included.

Web

Native Shopify checkout. Includes the first purchase of a subscription but excludes recurring renewals.

Subscription Contract

Recharge recurring charges (legacy flow).

Subscription Contract Checkout One

Recharge recurring charges (newer flow, rolled out October 2025). Most businesses now see a mix of both.

Draft Orders

Manual orders created in Shopify admin.

POS

Physical retail orders via Shopify POS.

Third-party apps / API / manual uploads

Facebook Shop, Instagram, TikTok, custom integrations. Often shown as a numeric code.

To remove recurring revenue, exclude both Subscription Contract and Subscription Contract Checkout One in Default Filters (See Part 1 below).

To mirror in Klaviyo, create a Custom Metric:

  • Metric: Placed Order

  • Filters: Source Name ≠ subscription_contract AND Source Name ≠ subscription_contract_checkout_one

rr1.png

Part 1: Exclude Recurring Subscription Revenue

Step 1: Go to Client Settings

Navigate to Account → Client Settings.

rr2.png

Step 2: Open the Default Filters Tab

Click on the Default Filters tab.

rr3.png

Step 3: Set the Order Filter

Under Order Sources, remove All Orders (default) and add Subscription Contract and Subscription Contract Checkout One.

Select the checkbox for Exclude.

rr4.gif

Step 4: Apply the Filter

Click Update Order Filters.

The status will change to "Data Update Pending" - once it is complete (should only take a few minutes), you will receive an email notification

rr5.png

Step 5: Confirm the Change

A confirmation appears on the Client Settings page. Recurring revenue is now excluded across all reporting views.

rr6.png

Part 2: Track New Subscription Events with Custom Metrics

Once recurring revenue is excluded, you can track new subscription activity separately — new subs started, cancellations, reactivations, etc. for more granular reporting.

Step 1: Go to Custom Metrics in Client Settings

On the same Client Settings page, click the Custom Metrics tab.

rr7.png

Step 2: Select Metrics to Track

From the dropdown, choose the subscription event you want to track (e.g. Subscription Started on Recharge, Subscription Cancelled on Recharge, etc.)

rr8.png

Here are the lists of metrics we recommend tracking for the following subscription platforms.

ReCharge

  • Subscription started on ReCharge

  • Subscription cancelled on ReCharge

  • Recharge subscription reactivated

Skio

  • Skio: New Subscription Created

  • Skio: Subscription Cancelled

  • Skio: Subscription Reactivated

Loop

  • Loop Subscription Started

  • Loop Subscription Cancelled

  • Loop Subscription Reactivated

StayAI

  • Retextion - Subscription Started

  • Retextion - Subscription Canceled

  • Retextion - Subscription Reactivated

Step 3: Save & Backfill Data

Click Save Tracked Metrics. Data will backfill overnight and appear the next day.

Step 4: View Metrics in Hiro

Once custom metrics are successfully backfilled, you will be able to find them under the Custom Metrics tab under Reporting on the left hand menu.

Select the custom metric you want to track in the dropdown menu.

rr9.gif

FAQ

My Subscription Started count doesn't equal my new-subscriber web revenue. Is the data wrong?

Two common reasons for a gap:

  1. A checkout with multiple subcripton items fires one Subscription event per line but creates one web order. Event counts and order counts aren't meant to match 1-to-1.

  1. Some new subscriptions start from inside the the subscription platform customer portal rather than a storefront checkout — those land on subscription_contract and get filtered out along with renewals. For most businesses it's a minor rounding effect.

Will excluding subscription_contract* hurt my attribution?

No — it usually improves it. Recurring renewals are scheduled billing, not marketing-driven. Including them over-credits recent campaigns for revenue locked in months ago.

We use Skio / Smartrr / Stay AI — does this still work?

Yes. All major Shopify subscription apps tag recurring charges with subscription_contract*, so the filter logic is the same. Custom Metric event names differ by app (e.g. Subscription Started on Skio), but the Order Source filter works identically.