Does WooCommerce Order Attribution Track Renewals?
How Order Attribution Works
WooCommerce's order attribution feature reads cookies and session data set during a customer's browsing session — UTM parameters, referring domain, or a detected organic/direct/referral source — and stores that as meta on the order created at checkout. It's genuinely useful for understanding which marketing channels actually drive purchases, including the first purchase of a subscription product.
Where It Gets Confusing for Subscriptions
- Renewal orders have no browsing session behind them — they're generated by Action Scheduler on the server, with no customer visiting the site at that moment, so there's no new UTM parameter or referrer to capture even in principle.
- Some reports treat every renewal as unattributed if they expect fresh attribution data on every order, rather than recognizing that a renewal correctly reflects the subscription's original source.
- The "correct" behavior for lifetime-value-by-channel reporting is usually to attribute all revenue from a subscription (initial order plus every renewal) back to whatever channel brought in that original signup, since that's the channel actually responsible for the ongoing revenue.
- A custom reporting setup built before order attribution existed, or one that doesn't specifically account for subscriptions, may not carry this forward correctly and could need adjustment to attribute renewal revenue back to the parent order's original source.
Getting Attribution Reporting Right for Subscriptions
- Confirm the store is running WooCommerce 8.5 or later for native order attribution to be available at all.
- When building revenue-by-channel reports, join renewal orders back to their parent subscription's original order to inherit the correct source, rather than treating each renewal as a separate, unattributed event.
- If using a third-party analytics/marketing plugin, confirm specifically that it understands this subscription relationship rather than assuming standard order-attribution logic applies unchanged.
Need custom revenue-by-channel reporting that correctly accounts for subscription renewals? See custom WooCommerce development.