WooCommerce tells you what sold. It doesn’t tell you why. An order arrives with a customer, a basket and a total, and nothing about the newsletter, the search result or the blog post that brought that customer to the shop in the first place.
That’s the question attribution answers: which source, which campaign, which page made the sale. Knowing it is what turns “we sold more this month” into “the buying guide sells, the social posts don’t”.
Three ways to give a sale its credit
Most buyers touch a site more than once before they buy. Someone finds a blog post through Google, comes back a day later from your newsletter, and buys. Every attribution method is a rule for deciding which of those moments gets the credit.
Last touch credits the visit just before the purchase, which here is the newsletter. It’s simple and it flatters whatever reminds people to come back, such as email, retargeting and branded search.
First touch credits the visit that brought them in at all, which here is the Google search. It rewards whatever finds you new customers, and it’s usually closer to the question a small shop is asking: where do my buyers come from?
Landing page credits the page they arrived on, which here is the blog post. It doesn’t care which site sent them. It tells you which of your own pages start journeys that end in a sale, so you know which content earns its keep.
Each method answers a different question. First touch plus landing page covers the two that matter most to a small shop.
Why do it without Google Analytics
Google Analytics can attribute WooCommerce sales, but it learns about them from the buyer’s browser. A purchase event has to fire on the order confirmation page, usually through a plugin or a tag manager. If the buyer’s browser blocks Google’s script, or they close the tab before the confirmation page loads, the sale never reaches your reports. Refunds need setting up separately too, or the revenue stays counted.
Vireo Pro takes the order from WooCommerce itself, on your server, when it’s placed. An ad blocker can hide a visit, but it can’t hide the sale. Refunds and cancellations update the same record when WooCommerce changes the order’s status.
What Vireo Pro records
With Vireo Pro active on a WooCommerce site, there’s nothing to set up. Orders from the classic checkout and the block checkout are both recorded. Easy Digital Downloads, FluentCart and Freemius work too, and the revenue docs cover each one.
When a visitor first arrives, Pro notes where they came from: the source, medium and campaign from the link’s UTM tags if it had any, otherwise the referring site, plus the page they landed on. When that visitor places an order, the order is matched to that first visit and carries its source and landing page with it. Vireo uses first touch, with the landing page recorded alongside.
The results are under Vireo Analytics, Revenue:
- Top revenue sources, with Source, Medium and Campaign, and the Orders, Revenue and average order value each one brought.
- Revenue by landing page, the page each buyer arrived on first, with “Conv %”, the share of visitors who landed on that page and went on to buy.
- Top products, from views to adds to purchases, and a purchase funnel across the whole store.
- Revenue today and over the last seven days, average order value, and revenue per visitor.
The Campaigns tab of the Overview also gets a small card with today’s revenue and orders and a link to the full screen.
Reading the landing page report
The landing page report is where content earns or loses its place. A product page at the top is expected. A blog post near the top is a post that sells, and it’s worth keeping current, linking from your other posts and promoting. A post with plenty of traffic and no orders may attract readers who aren’t buyers, which is worth knowing before you spend more on it.
Read the conversion column with the order count next to it. One sale from a page that ten people landed on is a high rate built on one person.
Where the answers stop
Vireo counts visitors without cookies. It tells visitors apart with a secret that changes every day, and keeps each secret for two days at most. That’s what makes it private, and it sets a limit on attribution: a buyer can only be matched to a first visit from the last two days at most. Someone who reads a post today and buys next week shows as direct. So does someone who found you on their phone and bought on their laptop.
A buyer whose browser blocked Vireo’s tracker also shows as direct. Their order still counts in revenue, but there’s no visit to match it to.
For WooCommerce, an order counts from the moment it’s placed, unless it later fails, is cancelled or is refunded in full. A partial refund made in WooCommerce isn’t subtracted at the moment, so an order that was partly refunded still counts at its original total. The total is the order total, including tax and shipping.
These limits all push the same way: some sales end up as direct that a cookie-based tool would have credited to a source. Treat direct as “not known” rather than as people typing your address in.
Getting better answers
The source column is only as good as the links that bring people in. Tag every link you control, such as newsletters, social posts and partner links, with UTM parameters, so a sale shows up as “newsletter, email, october-launch” instead of a bare referrer or direct. UTM links for WordPress covers how to tag them and the mistakes that split one campaign into several rows.
If you’re moving off Google Analytics, bring your traffic history with you first. Leaving Google Analytics 4 without losing your history covers the import. Revenue attribution in Vireo starts from the day Pro is active, since it’s built from orders and visits it records itself.