Plugin Pulse Beta
← Pulse

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.

Try it live opens a temporary test site in your browser, which can take about 20 seconds to load. Plugins that rely on outside services or a full server may not work completely there.

⚠ Few reviews

Health

B 78/100

Few reviews

Active installs

10+

≈17 estimated

Momentum

+11%

downloads vs prior 30d

Biggest opportunity: “analytics”, “attribution” and “order source” aren't earning a slot. You list them, but you're not in the first 24 results for those searches. WordPress.org counts only your first five tags, so free the slot for a search you can win.

How scoring works →
78 Health · B
Maintenance 87/100
Rating quality 74/100
Support 70/100

78 health vs 67 average across 1,826 Analytics plugins

Install conversion

How it's measured →

2.6%

of downloads still active

At least 10 of 387 lifetime downloads are still running, above its category: the median Analytics plugin keeps 1.2%, across 1,007 plugins.

Downloads count every update, not just first installs, so older and more frequently released plugins read lower. Compare against other Analytics plugins, not across the directory. wp.org reports active installs as the bottom of a band, so the real rate is this or higher.

This plugin shipped 2 releases in the last 12 months, and every existing install that updated counted as another download. wp.org publishes no split between first installs and updates, so we show the raw rate rather than guess at one.

Details

Version
1.0.1
Last updated
6mo ago
Added
2026-04-29
Requires WP
6.0
Tested up to
6.9.11
Requires PHP
7.4

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.

88 / 100

Excellent listing optimization

Most to gain: Rating quality

Update recency 99/100

Updated 185 days ago, past the ~180 days where wp.org starts discounting

WP compatibility 100/100

Tested up to WordPress 6.9.11, the current branch or newer

Rating quality 51/100

5.0★ over 1 review, smoothed to 4.12★ and held back under 25 reviews

Listing tuning 100/100

5 of 5 tags set · short description in place

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 29 Apr 2026 · 185 days · wp.org + Plugin Pulse archive

+11% vs prior 30d
030 Oct 2026

30-day downloads

Rolling 30-day volume · peak 101 · peaks are release surges

6331 Oct 2026

Directory rank

Ranked about #30,100 to #45,000, alongside the other plugins at 10+ installs. Plugins with the same install count swap places between wp.org requests, so this is where most of them sit. Checked monthly, last on 21 Oct 2026.

Health trend

Composite health score, snapshotted daily

7831 Oct 2026

Update activity

Downloads in the last 30 days for every 1,000 active sites.

Not enough installs to measure. This needs at least 100 active sites; below that, a handful of downloads reads as tens of thousands.

Release cadence

Occasionally updated
from wp.org release tags

How 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

6mo ago

latest release · v1.0.1 · 29 Apr 2026

2

tagged releases on record

Recent releases

1.0.1 · 29 Apr 20261.0.0 · 29 Apr 2026

Estimated active installs

The public count shows “10+”. Our estimate pins where the real number sits.

modeled estimate
10–20 ≈17

Modeled within the band wp.org reports; tightens as we track daily.

Install history since 29 Apr 2026

1031 Oct 2026

Recent reviews

All reviews on wp.org ↗
  1. ★★★★★ servicestsim
    4mo 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 ↗

AI assistants

How it's measured →

Whether ChatGPT and Claude name this plugin when asked the category question, and whether the readme gives them something to quote.

Not measured yet for this plugin’s topics. Its tracked searches are not among the measured topics. See the topics measured so far.

Readme readiness

7 of 8 pass · checked 29 Oct 2026

Can an assistant quote this readme? Eight deterministic checks over the wp.org listing, no model involved.

  • ✓ Says what it does "Analyze WooCommerce sales by traffic source (Google Ads, Organic, Facebook, Direct and more) with charts, K..."
  • ✓ Has a FAQ 7 questions in the FAQ.
  • ✓ FAQ asks real questions 7 of 7 read like questions a user would type.
  • ! Names who it is for One audience phrase ("who wants"); say who the plugin is for and what they use it for.
  • ✓ Names what it works with Mentions WooCommerce, Facebook.
  • ✓ Headings and lists 3 headings and 3 lists.
  • ✓ Enough to quote 1,651 characters of description.
  • ✓ Tags match the text All 5 tags appear in the text.

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).

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>
Preview card ↗

Order Source Analytics for WooCommerce: 10+ active installs, 5.0★ (1 reviews). Plugin Pulse (WP Mayor), as of 2026-10-31. https://plugins.wpmayor.com/plugin/order-source-analytics-for-woocommerce

Spotted a number that looks wrong? Report a data issue and we'll check it against the source.