Attribution
How does Metrunio count subscription renewals?
You report a renewal as a purchase with the subscription ID (subscription_id) and the flag subscription_renewal; Metrunio marks renewals from Stripe itself. It counts in measured revenue, appears separately in the reports and receives the shares of the first order of the same subscription, because it has no ad contact of its own. Without a known first order or without consent, it stays unattributed with a reason.
How do I mark subscription renewals, and which channel are they attributed to?
A customer takes out a subscription in March after clicking an Instagram ad. In April, May and June your shop charges the next payment without her visiting your website. Who gets the revenue from these payments? Metrunio attributes it to the channel the first order is already attributed to: every renewal takes over the shares of the first order of the same subscription.
How to mark renewals
- Server Events API: send each payment as a purchase with its own order number, plus subscription_id and subscription_renewal: true. The first order carries the same subscription_id, without the flag or with subscription_renewal: false.
- Stripe: also select invoice.paid for the webhook. Metrunio then counts every renewal (billing_reason subscription_cycle) as a renewal and recognises the first order by the checkout in subscription mode. The first invoice of a subscription does not count a second time next to the checkout.
- SDK in the browser: metrunio.conversion({ orderId, value, currency, subscriptionId, subscriptionRenewal: true }). You only need this when a renewal is confirmed in the browser; usually it comes from the server.
- Shopware from plugin 1.3.0 (Shopware Subscriptions) and WordPress from plugin 1.0.1 (WooCommerce Subscriptions) send the subscription ID and the flag themselves. A renewal there is created without a visit and therefore arrives without consent, like those from Stripe: measured, flagged, never attributed. The Shopify app does not send the flag yet; until it does, its renewal orders count as ordinary purchases.
{
"event_id": "abo-77-rate-2026-10",
"event_type": "purchase",
"occurred_at": "2026-10-01T06:00:00Z",
"order_id": "R-2026-10-77",
"subscription_id": "abo-77",
"subscription_renewal": true,
"value": "29.00",
"currency": "EUR",
"user_id": "4711",
"consent_state": "granted",
"consent_purposes": ["analytics", "marketing"]
}A renewal is never a customer’s first order. If you send new_customer: true with it, Metrunio does not accept it and names the field; the two fields do not belong on a lead or a funnel step either.
How it is attributed
Metrunio looks for the first order of the same subscription: the earliest purchase with the same subscription_id and without the flag, on the same website and in the same environment. In every model the renewal receives the same shares as that order and distributes its own value with them. If the first order gave 40 percent to Paid Search and 60 percent to Paid Social, a payment of €30 gives €12 to Paid Search and €18 to Paid Social. When the first order is recalculated, its renewals follow.
Touchpoints before the renewal itself do not count for this. If the customer opens her account through your newsletter before the payment, the newsletter gets nothing from that payment: it would have come anyway.
When it is not attributed
- “The first order of this subscription is not known”: the subscription started before Metrunio measured, the subscription_id is missing, or the first order arrived without consent and therefore without the subscription ID. If you report older first orders through a backfill, the renewals are recalculated. The same applies when the first order is deleted, on request or because its retention period ends: its renewals are then recalculated right away and lose the channel they took over.
- “The first order of this subscription is not attributed to any touchpoint”: it has no channel itself. It shows the reason.
- “No consent”: the renewal arrived without consent for revenue reconciliation. It is measured and marked but never attributed, not even through the first order. Every renewal from Stripe arrives this way, because an invoice carries no reference from the browser.
In the reports
- Overview: below the key figures you see how many renewals arrived in the period, with their measured and their attributed revenue. Both are included in the revenue above.
- Attribution: the column “Of which renewals” shows the attributed revenue from renewals for each row.
- Orders & goals: a renewal carries the note “Subscription renewal”; “Renewals only” shows them on their own.
- Export and read API: folgezahlungen_zugeordnet and umsatz_folgezahlungen_zugeordnet in the attribution export, folgezahlung and abo in the conversion export, isRenewal and subscriptionId in the read API. The data assistant and connected AI tools see only the flag, not the subscription ID.
- New customers: CAC and new customer costs do not count renewals. In the new customer share they count as orders by existing customers, in cohorts as repeat purchases. If a customer’s first measured purchase is already a renewal, they are in no cohort.
- Ad platforms: a renewal is not sent back to Google, Meta or others as a conversion; the pushback log names the reason.
Note
Attributed revenue from a renewal does not prove an effect. It tells you which channel the first order of the subscription is attributed to, not that the payment would have stopped without it.
Last reviewed on 16 Oct 2026
In the customer portal
Also asked
- Measure subscription renewals
- Attribute recurring payments
- Track subscription renewals
- Do renewals from Stripe count as conversions?
- Which channel gets the second monthly payment?
- Why is a renewal not attributed?
- What does “the first order of this subscription is not known” mean?
- Does a renewal count as a new customer?
- How do I see only renewals?
- Are renewals sent back to Google Ads or Meta?
Related articles
- How do I report purchases through Stripe or PayPal?
Can Metrunio take purchases straight from Stripe or PayPal without me writing code?
Without writing code, on every plan: under “Data connections → Payment providers” you add a connection and enter the address Metrunio gives you as a webhook at Stripe or PayPal. Purchases and refunds then come from the payment provider; a purchase is attributed if it carries the reference from the SDK.
- How do I report conversions server-side?
How do I send events from my shop, CRM or backend?
Through POST /v1/server/events to the collector, with the server key in the authorization header. The portal shows the address and the ready-made call for your website under “Setup” on the “Server Events API” tab. The call is independent of the browser and therefore robust against ad blockers and short-lived cookies.
- Why is a conversion not attributed?
What does “unattributed” mean, and how do I improve coverage?
“Unattributed” means the model found no touchpoint for this conversion that it considers. Either none falls inside the attribution window and is linked by a shared identifier, or there are only touchpoints of a kind the model does not distribute. Metrunio does not invent a contact in that case.
- What does a new customer cost me, and what is left?
How do I see new-customer cost and contribution margin, and which products did a campaign sell?
The “Commerce & products” area in the portal shows new-customer cost, margin ROAS, average order value, repeat purchase rate and a product report. The campaign filter only narrows the product report: the metrics above it always cover all campaigns. They appear as soon as your shop sends the matching figures; without them the metric in question stays empty. The overview and the “Attribution” page show the margin ROAS per channel and per campaign.
- When has a new customer paid for themselves?
How do I read the cohorts under “Commerce & products” for repeat purchases, margin per customer and payback?
Under “Commerce & products”, the customer cohorts group customers by the month of their first measured purchase. For each following month they show how many bought again and how much contribution margin per customer has accumulated; “Paid back” names the first month in which that amount reached the new-customer cost of the first-purchase month.
- How do I export data?
Can I recalculate the numbers myself?
Under “Exports & AI connections” you download CSV files for conversions, customer journeys and attribution by channel, with the same values the reports show, so you can recalculate them yourself. Conversions and journeys appear individually, row by row, and every row states the period, the environment and the time of the data.