virling Pricing Self-host Demo Changelog Agencies GitHub Start free trial
blog / 2026-11-01

Why WooCommerce order attribution says Unknown

By Devendra Variya, co-founder of Virling. Published 2026-11-01.

TL;DR: Unknown means WooCommerce saved no attribution data with the order. Its order attribution reads the visitor's source from cookies set in the browser, so anything that stops those cookies or that script, or any order placed without a browser visit, ends up as Unknown. Data that was never saved cannot be recovered later, so the fixes only help future orders.

How WooCommerce order attribution works

Order attribution is built into WooCommerce. You can turn it on or off under WooCommerce, Settings, Advanced, Features. A script in the store records where each visitor came from, such as a referrer or UTM tags, in short-lived cookies. At checkout WooCommerce copies those values onto the order and shows them as the order's origin.

The usual causes of Unknown

CauseHow to spot itFix
Orders with no store visitOrders created in the admin, through the REST API, by import, or as subscription renewalsExpected. Filter them out before you compare channels
Blocked cookies or scriptsUnknown share is higher for buyers on privacy browsers or with ad blockers, and where your consent banner is declinedSome loss is normal. Make sure the attribution script is not blocked by your own consent setup once a visitor accepts
Optimisation pluginsUnknown started after you added caching, script delay or minify settingsExclude the order attribution script from delay and combine settings, then test an order
Checkouts that skip the store's pagesExpress buttons, payment links or a checkout on another domainTest each checkout path with a tagged link and check the order's origin
Long gaps before buyingThe buyer visited from an ad or a post, then came back much laterThe cookies are short-lived. Use analytics that keeps the first source on a visitor ID
Bots and fake ordersFailed or spam orders with no device typeBlock spam at checkout; these were never real visits

How to test it

  1. Open your store in a private window from a link with ?utm_source=test&utm_medium=test.
  2. Place a test order the way a customer would.
  3. Open the order in the admin and check the origin. If it says Unknown, turn off script delay and caching rules one at a time and repeat.

Keep the source on every order

A sturdier approach is to store a visitor ID on the order and match it to that visitor's visits, so the source does not depend on a cookie lasting until checkout. Virling does this with a short snippet that saves the visitor ID in the order's meta data, for the classic and block checkout. It reads orders with a read-only REST key, counts refunds and WooCommerce Subscriptions renewals, and shows revenue per visitor for each channel; see WooCommerce revenue attribution.

The same problem shows up on other platforms under another name; see why Shopify orders show up as Direct.

Frequently asked questions

What does Unknown mean in WooCommerce order attribution?

It means WooCommerce saved no attribution data with the order, so it cannot say which source brought the buyer. It is not a display error, and the data cannot be filled in later.

Why are WooCommerce orders Unknown even with UTM links?

The UTM tags are read by a script into cookies. If the script is delayed or blocked, the cookies are refused, or the checkout runs outside the store's pages, the values never reach the order.

Do subscription renewals show as Unknown?

Renewal orders are created without a store visit, so they carry no fresh attribution. A tool that links renewals to the first payment keeps their original channel.

How do I turn on WooCommerce order attribution?

Go to WooCommerce, Settings, Advanced, Features and enable Order Attribution.

See which channel brings your WooCommerce buyers: start a 14-day free trial at app.virling.com.