
WooCommerce order attribution tells you which channel closed the sale.
It doesn't tell you where that customer came from in the first place. This gap is usually where store owners start losing confidence in the numbers.
Your WooCommerce Orders screen might credit Google. Meta Ads might claim the same sale. Neither is necessarily wrong.
They're just answering different attribution questions, and you often don't realize it until the numbers stop lining up.
WooCommerce has built-in order attribution, and it's been enabled by default since version 8.5.
It records things like the referring site or search engine, UTM campaign data, the customer's device, and the pages they visited before checkout.
It saves that information with the order and shows it under Origin.
The catch is that WooCommerce uses last-click attribution with session-based cookies. So it mainly sees the visit that led directly to the purchase.
If someone finds you through Google, comes back via email a few days later, and then buys after clicking a Meta ad, WooCommerce largely looks at that final session.

That’s why Direct and Unknown can show up more often than you'd expect.
The earlier steps in the customer's journey simply aren't part of what WooCommerce's built-in attribution is designed to capture.
In this blog, you'll learn everything you need to know about WooCommerce order attribution and how to use it to improve conversion tracking.
Table of Contents
- 1 What is Order Attribution in WooCommerce?
- 2 First-Click vs. Last-Click: What WooCommerce's Order Attribution Actually Tracks
- 3 How to Enable/Disable Order Attribution in WooCommerce?
- 4 Where to Find the Default WooCommerce Order Attribution?
- 5 Why Orders Show Unknown (And How to Fix It)
- 6 How to Use WooCommerce Attribution for Enhanced Conversion Tracking?
- 7 How Can WooCommerce Order Attribution Help Grow Your Business?
- 8 Best Practices for WooCommerce Order Attribution
- 9 Frequently Asked Questions
- 10 Ready to Utilize WooCommerce Order Attribution to Grow Your Business?
What is Order Attribution in WooCommerce?
WooCommerce order attribution identifies and analyzes the source of your orders, helping you understand how customers find and purchase your products.
Note: This is a default WooCommerce feature and is available for each order.
- Origin: It indicates where the customer came from before placing the order, such as a direct visit, a referral link, or an organic search.
- Campaign: It identifies the specific marketing campaign that led the customer to your site, helping you track the effectiveness of your promotional efforts.
- Source: It reveals the platform or website that referred the customer, such as Google, Facebook, or an email newsletter.
- Medium: Specifies the type of marketing channel used, like organic, paid, email, or social media.
- Device Type: Shows the type of device the customer used to make the purchase, like a desktop, tablet, or mobile device.
- Session Page Views: Tells you how many pages the customer viewed during their session before completing the purchase.

First-Click vs. Last-Click: What WooCommerce's Order Attribution Actually Tracks
WooCommerce uses a last-click attribution model. This means whatever a customer clicked last before landing on your site gets full credit for the sale, regardless of what first brought them there.
That's where the gap appears.
Say a shopper clicks a Facebook ad on Monday, browses a few products, then leaves without buying.
On Thursday, they search your brand name on Google and complete the purchase. WooCommerce will credit that sale to "Organic".
The Facebook ad that started the journey gets no credit.
This feature runs on a set of cookies, and most of them expire the moment the browser closes:
| Cookie name | What it stores | Expires |
|---|---|---|
| sbjs_session | Page views in the current session and the current page path | 30 minutes |
| sbjs_udata | Visitor's user agent info, including IP, browser, and device type | When the session ends |
| sbjs_first | Traffic origin for the visitor's first visit (only if they return before the session expires) | When session ends |
| sbjs_current | Traffic origin for the current visit | When session ends |
| sbjs_first_add | Timestamp, referring URL, and entry page for the first visit | When the session ends |
| sbjs_current_add | Timestamp, referring URL, and entry page for the current visit | When session ends |
| sbjs_migrations | Technical data for migrating between tracking feature versions | When the session ends |
Only sbjs_session has a fixed 30-minute timer. The rest expire when the browser closes, whichever comes first.
Either way, if a customer's first and second visits happen days apart, none of this data survives to connect them.
One more thing to know: if you've enabled WooCommerce's Usage Tracking, this attribution data is shared with Automattic.
Your customers' email addresses and billing details are not included, but the channel and source data is.
You can turn off Usage Tracking at any time in your WooCommerce settings.
How to Enable/Disable Order Attribution in WooCommerce?
To enable order attribution, navigate to WooCommerce ⇒ Settings ⇒ Advanced ⇒ Features and check the option "Enable this feature to track and credit channels and campaigns that contribute to orders on your site".

Make sure to save the changes.
To disable, uncheck the option "Enable this feature to track and credit channels and campaigns that contribute to orders on your site" and save the changes.
Where to Find the Default WooCommerce Order Attribution?
As mentioned earlier, WooCommerce provides order attribution for all orders.
To find WooCommerce attribution for any order, go to WooCommerce ⇒ Orders and click on that order ID.

Now, on the right side, you can find a tab named “Order Attribution”.

Initially, this tab displays the origin, device type, and session page views.
Click on “Show Details” to view additional details such as campaign, source, medium, etc.

Why Orders Show Unknown (And How to Fix It)
"Unknown" means WooCommerce didn’t save any attribution data with the order. It's not a display bug, and no plugin can recover the missing data later.
The data travels through three stages on its way to the order. A break at any of them leaves the order as Unknown:

The good news is that you can usually narrow down why it happened. Start with the most common causes and work your way down.
| Likely cause | How to check | Fix |
|---|---|---|
| Order placed before the feature was on, or while it was off | Compare order dates against when you enabled it | None. Data cannot be backfilled |
| A theme or plugin replaces the checkout template and skips the hook WooCommerce uses to add its hidden fields | Place the same UTM test order on a default checkout and on yours | Ask the vendor to add native order attribution support. Several checkout and theme vendors have open requests for this |
| Order created outside a shopper’s checkout: quote plugins, imports, REST API | Check what the Unknown orders have in common | Expected. Segment them out. Test how subscription renewals record on your store |
| Express pay buttons on some gateway versions | Filter Unknown orders by payment method | Update the gateway and report it with test orders |
| Cart or checkout served from page or edge cache | Look for a cache HIT header on /checkout | Exclude cart, checkout, and my-account from every cache layer |
| Consent tool blocks the cookies | Compare your Unknown rate against your consent opt-out rate | Map the feature to the right consent category |
A firewall blocks the sbjs_ cookies, sometimes with 403 errors | Check WAF and host logs | Update the ruleset, add an exclusion, or switch to Base64 cookies (below) |
| An optimization plugin delays or combines JavaScript | Re-test with JS delay switched off | Exclude WooCommerce’s attribution and Sourcebuster scripts from delay |
| A bug on your WooCommerce version | Search open order attribution issues on WooCommerce’s GitHub | Update, or report it with test-order evidence |
Still seeing "Unknown"?
Don’t start changing everything at once. Work through these checks from the cheapest and simplest first:
- Go to Settings ⇨ Advanced ⇨ Features and make sure order attribution is enabled. Then check that Origin is visible under Screen Options on the Orders screen.
- Open your browser's Application tab on a shop page and check whether the sbjs_ cookies are being created.
- Check your hosting or firewall logs for 403 errors during checkout.
- Place a UTM-tagged test order with a default WordPress theme and only WooCommerce enabled.
- Turn your plugins back on in batches until the attribution data disappears again.
When the firewall is the problem
A documented workaround exists for sites where a WAF incorrectly blocks attribution cookies.
Comodo updated its ruleset to allow them, while OWASP’s core ruleset acknowledged the issue but did not plan to patch it.
In those cases, you may need to add an exclusion to the firewall rules.
WooCommerce 9.0 also added another option: Base64-encode the attribution cookies so they are less likely to trigger WAF false positives:
// Base64-encode the attribution cookies to avoid WAF false positives
add_filter( 'wc_order_attribution_use_base64_cookies', '__return_true' );If that fixes the problem, you can keep the workaround in place or work with your hosting provider to create a proper exclusion for the affected cookies.
How to Use WooCommerce Attribution for Enhanced Conversion Tracking?
Along with order attribution, you can also use conversion tracking that gives you information like:
- First Interaction
- Conversion Time
- Browser
- Sales funnel from which the order was placed, etc.
To track conversions and collect WooCommerce attributes, follow these steps:
Step 1: Create a store checkout
You can track conversions on your WooCommerce store with FunnelKit Funnel Builder. This is the best sales funnel builder for WordPress and WooCommerce.
With this plugin, you can replace the default checkout with a custom, conversion-optimized checkout and also create multiple sales funnels to promote your products and boost conversions.
Install and activate FunnelKit Funnel Builder. After that, create a store checkout or a sales funnel.

Step 2: Enable first-party conversion tracking
Now navigate to FunnelKit ⇒ Settings and move to the First Party Tracking tab.
Make sure the “Enable First Party Conversion Tracking” option is checked, then click Save.

This will enable conversion tracking on your WooCommerce store.
Step 3: Test the conversion tracking
Now, place a test order with proper UTM values. You can place an order using the store checkout or any sales funnel.
Once the order is placed, go to the order and scroll to the bottom right to find the “Conversion Tracking” tab.
Here, you can find the funnel/store checkout link that the user used to place the order, the first interaction time, the conversion time, and other UTM values.
You can also jump to the sales funnel with a single click.

Here’s how you can easily track detailed conversion attributes for free.
How Can WooCommerce Order Attribution Help Grow Your Business?
WooCommerce order attribution helps you understand your audience and use that insight to grow your business. Here’s how:
- Identify high-performing marketing channels and campaigns
Attribution helps you determine which marketing channels drive the most revenue.
By focusing on these high-performing channels, you can maximize your return on investment (ROI) and allocate resources more effectively.
- Optimize marketing campaigns
With clear data on which campaigns are most successful, you can refine your marketing strategies.
This means investing more in what works and tweaking or dropping underperforming campaigns, leading to better overall results.
- Understand customer journeys
Attribution helps you map the entire customer journey, from initial interaction to final purchase.
Plus, combined with conversion time data, you can gain deeper insights into customer behavior.
- Maximize return on investment (ROI)
By knowing exactly where your revenue is coming from, you can invest more strategically.
This ensures that every marketing penny is spent wisely, increasing profitability and helping your business grow more efficiently.
Best Practices for WooCommerce Order Attribution
Follow these best practices to optimize your WooCommerce order attribution:
- Use a WooCommerce-specific attribution plugin
Don’t limit order attribution to the default WooCommerce settings. For more accurate tracking, install an additional WooCommerce plugin.
Our experts highly recommend using FunnelKit Funnel Builder, as it helps you collect more comprehensive order attribution information. Plus, it’s completely free.
- Use UTM parameters for all marketing campaigns
Experts advise adding UTM parameters to all your marketing campaigns to gather additional data.
UTM parameters allow you to collect more detailed information, such as traffic source, medium, campaign, content, term, etc.
- Regularly audit WooCommerce order attribution
Regularly audit order attribution values to understand how your marketing campaigns are performing.
Based on the audit data, you can adjust your marketing campaigns to achieve better results.
Frequently Asked Questions
UTM parameters are tags added to URLs that help you track traffic source, medium, campaign, etc., so you can better understand your order sources.
It is accurate for the visit that ended in checkout, which is what it was built to measure. It is blind to earlier visits, closed browsers, and other devices.
Treat it as a same-session channel view rather than a journey model, and it holds up well.
No attribution data was saved on that order. Common causes include orders placed before the feature was enabled, a custom checkout that skips the hidden fields, orders created outside a normal checkout, a cached checkout page, or cookies blocked by consent or a firewall.
Typed URLs, bookmarks, and untagged email, SMS, and in-app links all arrive with no referrer and no UTM parameters, so WooCommerce has nothing to credit. Some browsers and apps also strip referrers.
Tagging every link you control usually moves a large share of Direct into named sources.
No. It stores one source on each order in your own database. GA4 models journeys across a 90-day default window and reports sessions, not orders.
Run both, expect different numbers, and use each for the question it can actually answer.
Only for orders placed while the feature was enabled, which means WooCommerce 8.5 or later on your store.
There is no backfill, and no plugin can reconstruct it, because the data existed only in the shopper's browser cookies at the moment of purchase.
The script is light, but its cookies can lower page-cache hit rates on hosts that vary cache by cookie. Keep cart, checkout, and my-account out of your cache.
If nobody in your team reads the Origin column, switching the feature off is a reasonable performance trade-off.
The cookies are first-party and session-scoped, and the feature supports the WP Consent API so your consent platform can govern them.
Whether you need consent before setting them depends on your jurisdiction and how the cookies are classified. Check with your privacy advisor rather than assuming.
It is stored as order meta under the _wc_order_attribution_ prefix.
Use Tools ⇨ Export for XML, an order export plugin that includes custom meta for CSV, or the REST API for anything automated.
The WooCommerce Analytics reports also export their own views.
Ready to Utilize WooCommerce Order Attribution to Grow Your Business?
As you have seen, WooCommerce attribution, both order attribution and conversion tracking, provides valuable insights into your customers and how they interact with your store and conversions.
Without these insights, it's like navigating a ship without a compass; you might move forward, but you'll struggle to find the right direction.
With clear data guiding your decisions, you can optimize every aspect of your marketing efforts.
The result? More sales, happier customers, and sustained growth for your business.
So, start utilizing WooCommerce attribution data to sharpen your marketing strategy and steer your business toward success.

Editorial Team
October 1, 2026Want to drive more sales and customer loyalty with WooCommerce coupons? From simple percentage discounts to auto-applied deals, free gifts, and personalized offers, coupons give shoppers a reason to buy...

Editorial Team
October 1, 2026A WooCommerce flash sale works because it puts a deadline in front of shoppers. A discount that ends tonight gets a decision today. One that runs for months gets saved...

Editorial Team
September 30, 2026WooCommerce BOGO deals give shoppers a free or discounted item when they buy a qualifying product. The classic version is buy one, get one free, where the shopper gets a...






