Tracking Easy Digital Downloads Sales

Last updated

Revenue First Analytics tracks Easy Digital Downloads sales automatically. When EDD is active, the plugin saves the buyer’s visitor and session on the payment at checkout and records the revenue when the payment completes, attributed to the buyer’s first visit. Refunds and status changes are picked up from EDD’s own hooks, so the reports stay net, and the Products card lists your downloads, download categories and download tags.

Do I need to set anything up?

No. The plugin detects Easy Digital Downloads when the plugin is active and starts tracking right away. The only control is in Settings, under Integrations: the toggle Easy Digital Downloads revenue tracking, described as “Automatically track revenue from EDD orders.” It is on by default. If EDD is not installed, the toggle is disabled and reads “Easy Digital Downloads is not installed. Install it to enable revenue tracking.”

Turning the toggle off stops the plugin from recording new EDD payments and from sending EDD cart, checkout and purchase events. Revenue already recorded stays in the reports.

Which payments count as conversions?

Unlike WooCommerce, EDD has no status chooser. A payment is recorded when EDD marks it complete. The visitor and session are captured first, on the checkout request, through the edd_built_order and edd_insert_payment hooks, and stored as order meta. This happens before any off-site payment page, so gateways that confirm later (PayPal, Stripe) still attribute correctly. See How Sales Are Attributed to Traffic Sources for the first-touch logic, which is the same for both platforms.

EDD eventHookEffect
Purchase completesedd_complete_purchaseOne revenue row is recorded with the payment total, currency, product names, customer name, email hash and billing country, attributed to the buyer’s first session.
Status changes to Complete again after a reversaledd_transition_order_statusThe payment is recorded again (it was removed by the reversal).
Partial refundedd_refund_orderThe refund’s negative total is applied, so the payment’s revenue becomes the net amount.
Full refundedd_refund_orderThe revenue row and the payment’s purchase event are removed.
Status changes to Refunded, Revoked, Failed, Cancelled or Trashedd_transition_order_statusThe revenue row and purchase event are removed.

Pending payments are not conversions. A buyer who is still on PayPal, or whose receipt page shows a pending payment, is counted only once EDD completes the payment. Each payment is recorded once, guarded by a _rfa_tracked flag in the order meta. EDD 2.x payment status changes (edd_update_payment_status) are handled with the same rules.

How are refunds handled?

EDD 3 stores a refund as a separate order of type “refund” with a negative total. The plugin ignores those refund records as sales (only orders of type “sale” are recorded) and uses them to adjust the original payment:

  • Partial refund: the refund total is added to the stored amount (it is negative), leaving the net revenue. The payment still counts as one order.
  • Full refund: when EDD reports that everything was refunded, the revenue row is deleted along with the purchase event used by goals and funnels, and the payment no longer counts as an order.

As with WooCommerce, the change is applied to the payment’s original date, so a refund lowers the revenue of the day the payment was made. The general rules are in Refunds, Cancellations and Subscription Renewals.

How does EDD tracking differ from WooCommerce tracking?

AreaWooCommerceEasy Digital Downloads
Conversion triggerOrder status chosen in Settings (default Completed); Completed always countsPayment marked Complete; no setting
Reversal statusesRefunded, Cancelled, Failed, trash, deleteRefunded, Revoked, Failed, Cancelled, Trash, full refund
Products card tabsProduct, Category, Tag (WooCommerce products, product categories, product tags)Product, Category, Tag (downloads, download categories, download tags)
Product visitorsViews of the single product page detected by the trackerUnique visitors to the download’s page URL, matched by the download slug
Subscription renewalsWooCommerce Subscriptions renewals skippedNo renewal detection
Thank-you page purchase eventWooCommerce thank-you pageEDD receipt page, only for completed payments

The metric tiles keep the same labels on both platforms: Revenue, Orders, Conv. rate and Rev/visitor. In the plugin’s terminology a WooCommerce order and an EDD payment are both conversions. The dashboard uses EDD’s currency symbol when WooCommerce is not installed.

Which EDD events can I use in goals and funnels?

Three server-side events are sent for EDD, the same names as for WooCommerce:

  • add_to_cart: a download is added to the cart, with its name, price and quantity.
  • begin_checkout: the EDD checkout page is viewed with items in the cart, once per session.
  • purchase: the payment completes, with the order total, currency and product names.

Use them as goals or as funnel steps, for example “Add to cart, Begin checkout, Purchase”. See Creating Goals and Building Conversion Funnels. The same events are also pushed to window.dataLayer and, with marketing consent, to the Facebook Conversions API.

Can I run WooCommerce and EDD at the same time?

Yes. Both integrations can be enabled, and each records its own conversions. The Revenue and Orders tiles, the chart, the Traffic Sources card and every other breakdown add up both platforms, since every revenue row is stored with its source (woocommerce or edd). Goals and funnels see purchase events from both.

The one exception is the Products card. It can show only one catalog, and when EDD is active and enabled it shows the EDD downloads, categories and tags; WooCommerce products are not listed in that card while EDD tracking is on. Disable the EDD toggle if you want the card to show WooCommerce products instead. Details of the card are in Product Performance Report.

Frequently Asked Questions

Does Revenue First Analytics work with EDD 2.x?
Yes. It uses EDD 3 order functions when they exist and falls back to the EDD 2.x payment API and payment meta, including the legacy payment status hook.
Can I choose which EDD payment status counts as a sale?
No. Only WooCommerce has a status setting. An EDD payment is recorded when EDD marks it complete and removed when it is refunded, revoked, failed, cancelled or trashed.
Are pending EDD payments shown as revenue?
No. A payment that is still pending, for example while the buyer is on PayPal, is not counted until EDD completes it.
Why does the Products card show my downloads and not my WooCommerce products?
When both stores are active and EDD tracking is enabled, the Products card shows the EDD catalog. Turn off the Easy Digital Downloads revenue tracking toggle to see WooCommerce products in that card.
Is EDD Recurring Payments renewal revenue excluded?
No. Renewal detection exists only for WooCommerce Subscriptions. EDD renewal payments that EDD marks complete are recorded like any other payment.
Browse our plugins

Lightweight WooCommerce plugins built for speed. No bloat, no frameworks -- just clean code that works.

View all plugins
Stay in the loop

Get notified when we launch new plugins. No spam, just product updates.