Order Source Analytics for WooCommerce
by ocmisrael · Analytics
Analyze WooCommerce sales by traffic source (Google Ads, Organic, Facebook, Direct and more) with charts, KPIs and CSV export. Fully HPOS compatible.
81 health vs 64 average across 1,030 Analytics plugins
Directory ranking optimization
How it's scored →How well this listing is tuned to rank in WordPress.org search, on the factors an owner controls. Not popularity, optimization.
Excellent listing optimization
Biggest win: Rating quality
To rank higher: Too few reviews to rank on quality — nudge happy users to leave one.
Get the full rank-higher report →Daily downloads
Since 2026-04-29 · 125 days · wp.org + Plugin Pulse archive
30-day downloads
Rolling 30-day volume · peaks are release surges
45
now · peak 101
Directory rank vs rivals
wp.org popularity rank over time · higher is better · when a rival's line climbs above yours, they've overtaken you
Release cadence
Occasionally updatedHow often this plugin actually ships. A steady rhythm is the maintenance signal a single "last updated" date can't show.
2
releases in the last 12 months
4mo ago
latest release · v1.0.1
2
tagged releases on record
Recent releases
Estimated active installs
The public count shows “—”. Our estimate pins where the real number sits.
Modeled within the band wp.org reports; tightens as we track daily.
Install history · since 2026-04-29 · 88 observations
Details
Recent reviews
All reviews on wp.org ↗- ★★★★★ servicestsim2mo ago
Version 1.0.1 has serious reporting bugs 1. It probably excludes completed orders The code converts statuses using: 'wc-' . ltrim($s, 'wc-') The second argument to ltrim() is a set of characters, not a literal prefix. Consequently: processing -> wc-processing completed -> wc-ompleted cancelled -> wc-ancelled The default statuses are processing and completed, so completed orders will likely be silently excluded from both the source report and daily-revenue trend. The correct form is approximately: $s = sanitize_key((string) $s); return str_starts_with($s, 'wc-') ? $s : 'wc-' . $s; This bug appears in multiple paths and must be fixed everywhere, including the legacy-order queries. 2. Its PHP 7.4 compatibility declaration is wrong The plugin says it supports PHP 7.4, but repeatedly calls: str_contains() str_starts_with() str_ends_with() Those functions require PHP 8.0 or later. On PHP 7.4, report execution will fatal-error. The developer should either declare PHP 8.0+ or replace those calls with PHP 7.4-compatible implementations. 3. Large date ranges can consume excessive resources The date parameters are sanitized but not strictly validated or limited. The plugin: Builds one PHP array entry for every day in the selected period. Retrieves one database row per order and aggregates the results in PHP. Describes the queries as “aggregated,” even though the main source query is not aggregated in SQL. A shop manager selecting an extremely large range could cause a heavy database query, high PHP memory use, or a timeout. 4. Its HPOS support is brittle It does query wc_orders and wc_orders_meta, so it understands HPOS storage. But it: Directly couples itself to WooCommerce table structures. Does not declare HPOS compatibility through WooCommerce’s FeaturesUtil mechanism. Executes a second legacy-table query even when HPOS is active, attempting to find orders not present in HPOS. That is less robust than using supported WooCommerce order/query APIs. 5. The advertised meta-key settings do not exist The plugin initializes a list of possible attribution meta keys and tells the administrator to configure the correct meta key in “Settings.” However: There is no settings screen or save handler. The private option-update function is never called. The reporting function ignores the supplied $metaKeys. It always uses three hard-coded WooCommerce attribution keys. Therefore, the advertised support for custom attribution metadata is effectively unimplemented.6. It can misclassify attribution The normalization code tends to label a source value of google as Google Ads, without examining UTM medium. It also collapses most referring domains into a generic Referral category. That can give misleading marketing results even after fixing the completed-order bug.7. “Revenue” means order total, not net sales It sums total_amount. It does not subtract refunds or reproduce WooCommerce Analytics’ net-sales calculation. Its revenue result may include shipping and tax and may differ materially from WooCommerce’s standard reports. I would not rely on version 1.0.1 in production until at least the following are fixed: Replace all faulty ltrim($s, 'wc-') status handling. Require PHP 8.0+, or implement PHP 7.4-compatible string helpers. Validate dates and impose a sensible maximum report range. Compare its counts and totals against known completed and processing orders. Clarify whether “revenue” means gross order total or net sales. Add a proper HPOS compatibility declaration.
Read on wp.org ↗
Growth timeline
Install-tier crossings we have observed, and how long each tier took to outgrow
No tier crossings observed yet.
Competes with
The plugins that solve the same job, ranked by shared tags then reach, closest match first. The letter on the right is each plugin's health grade (A best, F worst).
-
Klaviyo 100K+ installs · 3.2★ · 2 shared tags B -
GTM Kit – Google Tag Manager & GA4 integration 30K+ installs · 4.5★ · 2 shared tags A
-
WooCommerce Analytics 20K+ installs · 4.0★ · 2 shared tags B -
Site Kit by Google – Analytics, Search Console, AdSense, Speed 5M+ installs · 4.2★ · 1 shared tag A -
MonsterInsights – Google Analytics Dashboard for WordPress (Website Stats Made Easy) 2M+ installs · 4.5★ · 1 shared tag A
-
Google for WooCommerce 800K+ installs · 2.8★ · 1 shared tag B
Embed this report card
Drop a live Pulse card for Order Source Analytics for WooCommerce into a readme, a review or a deck. It updates itself.
<iframe src="https://plugins.wpmayor.com/embed/order-source-analytics-for-woocommerce" width="480" height="300" style="border:0" loading="lazy" title="Order Source Analytics for WooCommerce — Plugin Pulse"></iframe> Order Source Analytics for WooCommerce: — active installs, 5.0★ (1 reviews). Plugin Pulse (WP Mayor), as of 2026-09-01. https://plugins.wpmayor.com/plugin/order-source-analytics-for-woocommerce