Black Friday · Sale on every paid plan See prices →

StorePinger / Sales by Source

WooCommerce conversion tracking that shows which source actually sells

Sales by source links every paid WooCommerce order to the channel the buyer came from, inside your own WordPress dashboard. You see orders and revenue for Google, Meta ads, email, ChatGPT and every other source, without sending visitor data to Google Analytics.

Last updated: November 4, 2026

The problem: you know your traffic, not your buyers

Most store owners can tell you where visitors come from. Far fewer can tell you where buyers come from. The two lists rarely match. A channel that sends 40% of your visits can send 5% of your orders, and the channel you ignore can quietly carry the month.

WooCommerce added a free Order Attribution feature that tries to answer this. It works, but it has a known weak spot. Store owners keep asking the same question in the WooCommerce support forum: why do so many orders show an origin of "Unknown"? One owner wrote that "many of the orders source/origin showing as Unknown which is difficult to identify where the order is exactly coming from." WooCommerce support replied that Unknown appears when the order is created manually, when order meta is not saved, or when caching plugins serve the cart and checkout pages from cache. In an earlier thread, support listed browser privacy settings, payment gateway redirects and missing tracking parameters as further causes.

So the data exists, but holes in it are common. Google Analytics 4 (GA4) can fill some of the holes, but only if the shopper accepted cookies, only if the thank-you page was not cached, and only after you leave WordPress to read it. Store owners on the WooCommerce forums describe purchases that never reach GA4 because of a payment gateway return URL. You end up with three numbers for the same month and no idea which one to trust.

What is WooCommerce conversion tracking?

WooCommerce conversion tracking is the practice of recording what happens after a visitor arrives at your store, from the first page view to the paid order, and tying each order back to the traffic source that produced it. Done inside WordPress, it answers one question per channel: how many orders and how much revenue did this source bring, over this date range.

That is a different job from sending conversion events to an ad platform. Pixel plugins and Google Tag Manager tell Google Ads or Meta that a purchase happened so the platform can optimise bidding. Sales by source tells you, the owner, which channel to fund next month. You can run both. StorePinger does the second job. If you need the first, the official Google Analytics for WooCommerce extension and the ad platforms' own tags still apply.

How sales by source works in StorePinger

StorePinger records the source of each visit when the visitor lands, then matches the paid order to that visit. The source list covers search, social, paid ads (Google and Meta), email, AI tools (ChatGPT, Perplexity, Gemini, Claude and Copilot) and referrals.

  1. The visit is tagged on arrival. The tracker reads the referrer, any UTM parameters and ad click IDs on the landing page. Paid Google and Meta clicks are separated from organic visits from the same sites.
  2. The visit is followed through the store. Pages, cart actions and checkout steps are kept with the same visit, using a random id in the browser's local storage. No cookies are set by the tracker. The IP address is used only to look up the country or city and is not stored.
  3. The order is matched to its source. Each WooCommerce order is linked to the source of the visit that produced it. Recovered orders count only once they are paid.
  4. You read it in WordPress. Sales by source shows orders and revenue per channel for any date range, with CSV export. Sales and live visitors are also in the StorePinger mobile app.

Everything is stored in your store's own WordPress database and hosting. Nothing about your visitors is sent to StorePinger.

Question you want answeredWooCommerce Order Attribution (built in)Google Analytics 4StorePinger sales by source
Where is the data stored?Your WordPress database, order meta onlyGoogle's serversYour WordPress database
Does it need cookies?Yes, seven sbjs_ cookies that mostly expire with the session (WooCommerce docs)Yes, and consent in many regionsNo cookies set by the tracker
Can it see the visit before the order?No. Data is written only when an order is placedYes, if the shopper is trackedYes, every page and cart action of the visit
Names AI tools as a source?Not in the documented origin list as of November 2026Yes, an "AI Assistant" channel (ChatGPT, Gemini, Deepseek, Copilot, Grok) per Google's channel groupsYes: ChatGPT, Perplexity, Gemini, Claude, Copilot
Separates paid from organic on Google and Meta?Only with UTM tags on every linkYes, with gclid and fbclidYes, using click IDs and UTM tags
Where do you read it?Order list and Analytics in WordPressanalytics.google.comWordPress dashboard and mobile app

Competitor and WooCommerce facts in this table were checked on their own documentation pages on November 4, 2026.

An example with round numbers

This is a worked example, not a customer result. Say a store gets 10,000 visits in October and 200 paid orders at an average order value of $60, so $12,000 in revenue. The visit report looks healthy for Meta ads. The sales by source report tells a different story.

SourceVisitsPaid ordersConversion rateRevenue
Meta ads (paid)4,000401.0%$2,400
Google organic3,000752.5%$4,500
Email1,000505.0%$3,000
ChatGPT and other AI tools500204.0%$1,200
Direct and other1,500151.0%$900

Meta sends the most visits and the fewest orders per visit. Email sends a tenth of the visits and brings a quarter of the revenue. Conversion rate is orders divided by visits: 50 divided by 1,000 is 5%. If this were your store, the next month's budget decision would be obvious. Without the orders column you would keep paying for the 4,000 visits.

Reading paid ads by source instead of by click

Ad platforms report clicks and the conversions their own tag can see. Both numbers are produced by the party you are paying. Sales by source gives you a third number, produced from your own orders, that you can hold the first two against.

A worked example, not a customer result. Meta reports 4,000 clicks and 55 purchases for the month. Your WooCommerce order list, matched by StorePinger, shows 40 paid orders that started from a Meta ad visit. The 15-order difference is normal: Meta counts purchases by its own attribution rules, while sales by source counts a paid order that started from a Meta click. Neither number is a lie. The one you should budget on is the one built from orders you were paid for.

The same check works for email. If your email tool reports 120 orders and sales by source shows 50 from email links, the gap is usually untagged links. Add UTM parameters to every link in the template and the two numbers move closer within a campaign or two.

What the report does not do

Sales by source uses the source of the visit that produced the order. It does not split credit between a Google search last week and an email today. If a shopper arrives from Google, leaves, and returns from an email to buy, the order is credited to the email visit, because that visit contained the order. WooCommerce's own Order Attribution uses the same last-click rule, per its documentation. If you need multi-touch models, GA4 still has them.

It also does not guess. A visit with no referrer, no UTM parameters and no click ID is reported as direct. A visit where the tracker did not load is not reported at all. The report is smaller and truer than one that fills gaps with assumptions.

Who this is for

  • Store owners who run Google Ads or Meta ads and want to know which campaigns pay, not which get clicks.
  • Owners who send email campaigns and want orders per campaign, not just opens.
  • Stores that are starting to see visits from ChatGPT, Perplexity and Gemini and want them counted as their own source.
  • Anyone whose WooCommerce order list is full of "Unknown" origins.
  • Agencies that report results to clients and need the source and revenue columns on one screen (see white-label reporting for agencies).

How to use the report

  1. Tag your own links. Add UTM parameters to every email, social post and ad. Our WooCommerce UTM tracking guide shows the exact format.
  2. Pick one date range and judge every source on it. Compare orders and revenue, not visits.
  3. Look at average order value next to conversion rate. A channel with fewer orders but bigger baskets can still win.
  4. Check AI sources monthly. They are small for most stores today and growing.
  5. Match the sales by source report against your daily sales report email so a drop in one channel shows up the next morning.
  6. Use the conversion funnel to find where a weak channel's visitors leave.

Limits

  • Sales by source is a Pro and Agency feature. The free plan shows live visitors, the world map, visitors by country, today's visitors and page views, and the dashboard widget.
  • Pro keeps 90 days of history. Agency keeps 1 year.
  • A visit can only be matched if the tracker loaded on the landing page. If a caching or security plugin blocks scripts, that visit is counted as direct.
  • Links with no referrer and no UTM parameters (some apps, some short links) show as direct. This is the same limit WooCommerce support describes for Order Attribution.
  • StorePinger does not send conversion events to Google Ads or Meta. Keep your pixel or tag setup for bidding.

Related pages

See your own sales by source

Install the free plugin to watch live visitors today. Upgrade to Pro at $49.99 a year for sales by source, 90 days of history and every other feature, with a 14-day money-back guarantee. Payments are handled by Paddle.

FAQ

Frequently asked questions

Does StorePinger send conversions to Google Ads or Meta?

No. Sales by source reports which channel produced each order inside your WordPress dashboard. It does not fire conversion events to ad platforms. Keep your Google Ads tag, Meta pixel or Google Tag Manager setup for bidding, and use StorePinger to decide where the budget goes next month.

Why does WooCommerce Order Attribution show Unknown?

WooCommerce support lists manual orders, order meta that was not saved, cached cart or checkout pages, browser privacy settings, payment gateway redirects and links without tracking parameters as causes. StorePinger records the source when the visit starts, so an order can be matched even when the checkout page is cached.

Does sales by source need cookies?

No tracking cookies. The StorePinger visitor tracker sets no cookies. It keeps a random id in the browser's local storage to join the pages of one visit. IP addresses are used only for the country or city lookup and are not stored.

Is ChatGPT traffic counted as its own source?

Yes. Visits from ChatGPT, Perplexity, Gemini, Claude and Copilot are named and counted, and the orders they produce appear in sales by source. Google Analytics 4 also has an AI Assistant channel as of November 2026, but you read it outside WordPress and only for shoppers who accepted cookies.

Which plan includes sales by source?

Pro at $49.99 per year for one site and Agency at $999.99 per year for 35 sites. The free plan includes live visitors, the world map, visitors by country, today's visitors and page views. There is a 14-day money-back guarantee.

How far back does the report go?

Pro keeps 90 days of history and Agency keeps one year. Any date range inside that window can be exported to CSV.

Can I see paid Meta traffic separately from organic Facebook visits?

Yes. StorePinger separates Google and Meta ads from organic visits from the same sites using ad click IDs and UTM tags. If a link carries neither, the visit is counted by its referrer.

Do I still need UTM parameters?

For ads, Google and Meta click IDs are enough. For your own emails, social posts and partner links, add UTM parameters so each campaign gets its own row. The WooCommerce UTM tracking guide on this site shows the format.

Someone is on your store right now.

Find out who they are, where they came from and how to turn them into a customer.

Get StorePingerStart free