Skip to content
Mather Media Solutions

Direct to consumer

Subscription billing

A renewal is created by a scheduler rather than by a person, so there is no session and no campaign parameter anywhere near it, and every recurring order lands unattributed by construction.

Paid, fixed scope · Within ten business days after complete access

What breaks

Replenishment and membership brands, recurring charges created on a schedule, dunning and retry flows, and any plan that renews without the customer visiting

Attribution as normally installed is a property of a browsing session. A renewal has no browsing session. The billing system wakes on a schedule, charges a stored payment method, and writes an order. Nothing about that sequence involves a browser, so there is no referrer to read and no campaign parameter to persist. The order is real revenue and it arrives with no origin. This gets worse the better the business is: the healthier the retention curve, the larger the share of revenue that is structurally unattributable, so the brands with the best economics have the most distorted channel reporting.

Why nobody catches it

First-order return on ad spend is a coherent number on its own and it is the number the dashboards are built to show, so nobody experiences a gap. The comparison that would expose it, revenue per acquired customer by channel measured out over several billing cycles, exists on no platform report by default and has to be constructed deliberately from the order records. Until somebody constructs it, the channel that wins cheap first orders outranks the channel that wins customers who stay, and every decision made from that ranking is confidently wrong in the same direction.

The work

The identifier renewals are joined on, where it is written and when, and a cohort report separating new from recurring revenue by acquisition channel.

  1. 01Write the acquisition source onto the customer or subscription record at the point of first purchase, where a browsing session still exists to read it from
  2. 02Join renewals back to that stored source rather than attempting to attribute them at the moment they are charged
  3. 03Separate new and recurring revenue in every report that a budget decision is made from, so the two are never blended into one return figure
  4. 04Send the events that matter for bidding from the server, where a scheduled charge can actually originate them

Elsewhere in ecommerce and subscription

One stack usually has more than one of these.

These boundaries compound. A brand running a hosted checkout and a subscription plan has two separate reasons for its channel report to be wrong, and fixing one leaves the other in place. The audit establishes which are live on your stack before anything gets rebuilt.

Start with the smallest useful check

Send one account running subscription and renewals and we will read its setup before anyone signs anything.

Send the domain, the customer journey, and the platforms that should receive it. The tracking audit shows what is working, what is missing or duplicated, and the exact build recommended next.

Start the tracking audit

Paid, fixed scope · Within ten business days after complete access