Title: Aopy for WooCommerce
Author: aopy
Published: <strong>September 22, 2026</strong>
Last modified: September 23, 2026

---

Search plugins

![](https://ps.w.org/aopy-for-woocommerce/assets/banner-772x250.png?rev=3707432)

![](https://ps.w.org/aopy-for-woocommerce/assets/icon-256x256.png?rev=3707432)

# Aopy for WooCommerce

 By [aopy](https://profiles.wordpress.org/aopy/)

[Download](https://downloads.wordpress.org/plugin/aopy-for-woocommerce.1.6.0.zip)

 * [Details](https://wordpress.org/plugins/aopy-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/aopy-for-woocommerce/#reviews)
 * [Development](https://wordpress.org/plugins/aopy-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/aopy-for-woocommerce/)

## Description

Aopy for WooCommerce connects your store to Aopy (aopy.com), the email marketing
and automation platform. It powers abandoned-cart emails, post-purchase automations
and newsletter sign-ups from your checkout, and it reports your orders and refunds
to Aopy directly from your WordPress server — no browser snippet to paste, no third-
party cookies, and nothing an ad blocker can stop.

#### What it does

 * Sends a purchase event to Aopy once payment is actually confirmed — including
   cash on delivery and bank transfer, which never involve a payment gateway. An
   order that was created but never paid is never counted as a sale.
 * Works with BOTH the classic checkout and the newer Checkout Block, so no order
   is silently missed regardless of which one a customer used.
 * Retries automatically if Aopy cannot be reached — for purchases AND refunds —
   so a momentary network problem does not silently lose a sale or leave a refunded
   one standing.
 * Sends an “added to cart” event so Aopy’s abandoned-cart automations have real
   signal to work with — something no order-only integration can provide.
 * Adds an opt-in checkbox at checkout, never pre-ticked, on both the classic checkout
   and the Checkout Block. Only shoppers who tick it become mailable contacts in
   Aopy; placing an order alone never does.
 * Recovers carts in one click. Links in your Aopy emails can rebuild the shopper’s
   cart and apply the coupon you promised, then drop them straight on checkout.
 * Loads Aopy’s on-site tracker for you once your store is connected, so product
   views and browsing sessions reach Aopy without you editing your theme.
 * Adds a “Notify me when the price drops” button under the Add to Cart button on
   every product page, so shoppers can sign up for your Price Drop Alert automation
   without you wiring anything yourself.
 * Shows the popups you build in Aopy — sign-up forms, discount offers, spin-to-
   win — with nothing to paste. The plugin tells Aopy what kind of page each visitor
   is on, so a popup meant for product pages appears only there. Use the shortcode`[
   aopy_form id="..."]` to place an embedded sign-up form in your footer or anywhere
   else.
 * Reports refunds, whole or partial, so your Google Ads and Google Analytics reporting
   stops counting revenue you gave back.
 * Tells you whether it is actually working. The settings screen shows your last
   successful send, your last error, and a “Send test event” button that reports
   exactly what Aopy answered.
 * Respects your site’s cookie/consent banner. If a consent plugin (Complianz, Cookiebot,
   CookieYes, or any plugin implementing the WP Consent API) is active, advertising
   click identifiers and on-site behaviour are recorded only for shoppers who granted
   consent. Orders, refunds and carts are reported either way, carrying the shopper’s
   actual consent answer, because an order is a contract you already perform under—
   and Aopy applies your account’s own consent rules to it.
 * Fully compatible with WooCommerce’s High-Performance Order Storage (HPOS). Every
   order value is read and written through WooCommerce’s own API, never raw post
   meta.

#### External service: Aopy

This plugin is an interface to **Aopy**, a third-party marketing service at [aopy.com](https://aopy.com).
The plugin does nothing on its own — it requires an Aopy account and a REST key 
from that account. Order and cart data from your store is transmitted to Aopy’s 
servers so it can power your segments, automations, and advertising conversion reporting.

**Data sent to Aopy when an order is paid:** order ID, order total, currency, and
for each line item its product ID, SKU, name, category, quantity and unit price;
plus the billing email address, and — when present on the order — the billing phone
number, first name, last name, and the customer’s IP address and browser user-agent
as recorded by WooCommerce on the order.

**Advertising click identifiers, when present:** the values of your own Meta Pixel’s`
_fbp` and `_fbc` cookies, and any `fbclid`, `gclid`, `gbraid`, `wbraid` or `ttclid`
parameter present in the address the visitor arrived on. These identify the ad click,
not the person, and are forwarded so your Meta, Google Ads and TikTok reporting 
can credit the correct campaign for the sale. They are only ever recorded for a 
visitor who has granted statistics consent.

**Data sent to Aopy when a customer starts checkout:** order ID, order total, currency,
line items as above, and the billing email address, so that abandoned-checkout automations
can reach customers who did not complete payment.

**Data sent to Aopy when an order is refunded:** order ID, refund ID, currency, 
the amount refunded, the order’s remaining value, and the billing email address.
This is what lets Aopy tell Google Ads and Google Analytics that a sale was returned,
so your advertising reports stop counting revenue you gave back.

**Data sent to Aopy when a product is added to the cart:** product ID, SKU, name,
quantity, price and store currency.

**Popups:** the on-site tracker asks Aopy which of your popups are active, identified
only by your own public tracking key. When a shopper fills one in, what they typed—
their email address, and a phone number or name if your popup asks for one — is 
sent to Aopy as a sign-up. Nothing is sent for a popup a shopper only sees and closes,
beyond the anonymous count that tells you how often it was shown.

**Data sent to Aopy when a shopper ticks the checkout opt-in box:** their email 
address, name and phone number as entered on the order, together with the order 
number and your store address, recorded as the source of their consent.

**Data sent about your installation, daily:** the versions of this plugin, WooCommerce,
WordPress and PHP, your site address, whether High-Performance Order Storage is 
on, whether a consent plugin is present, whether the checkout opt-in is enabled,
and when this plugin last successfully reached Aopy. This describes the software,
never your shoppers.

No payment details are ever transmitted, and no browsing history is collected by
this plugin. The plugin sends nothing at all until you enter a valid REST key.

By using this plugin you agree to Aopy’s [Terms of Service](https://aopy.com/terms)
and [Privacy Policy](https://aopy.com/privacy).

#### Setup

 1. In your Aopy dashboard, open Integrations > WooCommerce and copy your REST key (
    it starts with `rk_`).
 2. In WordPress, go to Plugins > Add New, search for “Aopy”, then install and activate
    it. WooCommerce must already be active.
 3. Go to Settings > Aopy, paste the key and save.
 4. Press **Send test event** and confirm it reports success. This is the fastest way
    to tell a mistyped key apart from a server that cannot reach Aopy.
 5. Place a test order and confirm it appears in your Aopy dashboard.

## FAQ

### Does this slow down checkout?

No. Every call to Aopy happens after the order is already placed, has an 8-second
timeout, and never blocks or fails the checkout if Aopy is unreachable. Retries 
run in the background through WooCommerce’s own scheduler, never during a customer’s
request.

### Does this work with the new block-based checkout?

Yes — this is one of the two things this plugin was specifically built to get right.
It hooks both the classic checkout AND the Checkout Block (Store API), since WooCommerce
fires a different action for each.

### What happens if a customer has not accepted cookies/tracking?

Their advertising click identifiers and on-site behaviour are not recorded at all—
not recorded and then withheld. Their order and any refund on it are still reported
to Aopy, carrying their actual consent answer, because reporting a sale you have
already made is part of running the shop rather than something a cookie banner governs.
Aopy then applies your account’s own consent rules, which by default store nothing
for a shopper who has not agreed.

### I do not have a cookie consent plugin. Does this work?

Yes, for orders, refunds, carts and the checkout opt-in. Advertising click identifiers
and on-site behaviour stay off until you install a plugin that supports the WP Consent
API — Complianz, Cookiebot and CookieYes all do. The settings screen says so plainly
rather than letting you believe everything is running.

### Does the opt-in checkbox come pre-ticked?

No, and it cannot be configured to. A pre-ticked marketing box is not valid consent
under the GDPR, and that is your liability, not ours.

### How do I put a popup on my store?

Build it in Aopy and set it live. Nothing to paste here — the plugin already loads
Aopy’s tracker, and the tracker brings every active popup with it. For an embedded
sign-up form (one that sits in the page rather than floating over it), copy the 
popup’s id from Aopy and put `[aopy_form id="the-id"]` where you want the form, 
for example a footer widget.

### Do I need an Aopy account?

Yes. This plugin is an interface to Aopy (aopy.com) and does nothing without an 
account and a REST key from it. See “External service: Aopy” above for exactly what
data is sent and where.

### What happens to my data if I uninstall the plugin?

Uninstalling deletes the plugin’s own settings from your WordPress database, including
your stored REST key. It does not touch your orders, products, or customers, and
it does not delete anything already sent to Aopy — to remove that, use your Aopy
account.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Aopy for WooCommerce” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ aopy ](https://profiles.wordpress.org/aopy/)

[Translate “Aopy for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/aopy-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/aopy-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/aopy-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/aopy-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/aopy-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.6.0

 * Added: one-click “Connect to Aopy”. Press the button, approve this store in Aopy,
   and your REST key is delivered automatically — nothing to copy or paste. The 
   manual key field still works and now lives under “Advanced” for anyone who prefers
   it, or whose site cannot reach Aopy directly.

#### 1.5.4

 * Fixed: the price-drop button’s JavaScript is now enqueued through WordPress instead
   of being printed inline on the product page.

#### 1.5.3

 * Changed: every setting, scheduled task and order note the plugin stores now uses
   the `aopy_` prefix, and the plugin declares WooCommerce as a required plugin.

#### 1.5.2

 * Added: a “Notify me when the price drops” button on every product page, wired
   to your Price Drop Alert automation. Shows the shopper whether they were subscribed,
   already subscribed, or need to give their email or accept marketing cookies first—
   never a silent failure.

#### 1.5.1

 * Improved: when your ad links carry the ad group and the ad name, your orders 
   now bring them to Aopy too, so you can see which products sold through each ad
   group and each ad, not only each campaign.

#### 1.5.0

 * Added: popups. Every popup you build in Aopy now appears on your store on its
   own, with nothing to paste and no per-popup setup. Your popup’s own targeting
   decides where it shows.
 * Added: your store now tells Aopy what kind of page a visitor is on — home page,
   product, category, cart, checkout, search or blog — so a popup meant for product
   pages appears only there, whatever your permalinks look like.
 * Added: the shortcode [aopy_form id=”…”] places an embedded sign-up form anywhere
   you can put a shortcode, for example your footer. Copy the id from the popup’s
   page in Aopy.

#### 1.4.0

 * Changed: the plugin is now called “Aopy for WooCommerce” (previously “Aopy Tracking”),
   which describes what it is for: abandoned-cart emails, post-purchase automations
   and checkout sign-ups.
 * Removed: the self-hosted updater. Updates are now delivered only through WordPress.
   org, like every other plugin in the directory.

#### 1.3.1

 * Changed: the plugin now tells Aopy each consent purpose separately (statistics,
   marketing, preferences) instead of one yes/no. A shopper who allowed statistics
   but refused marketing is measured, but their details are never sent to Meta, 
   Google or TikTok. Orders and refunds carry the same purpose-by-purpose answer
   frozen at checkout.
 * Fixed: a shopper who accepted, then declined, then accepted, then declined again
   in one visit now has BOTH refusals delivered; the second used to be dropped.
 * Fixed: an order or refund that Aopy rejected outright (for example while a wrong
   REST key was saved) used to be marked as tracked and skipped forever. It is now
   shown on the settings screen as “Orders Aopy rejected”, with a “Resend rejected
   orders” button that re-queues them once the cause is fixed.
 * Added: orders now carry the visit’s traffic source (WooCommerce’s own Order Attribution:
   UTM source, medium, campaign, landing page, referrer) and, when the shopper allowed
   statistics, the Google Analytics client id from your own gtag cookie — so Aopy
   can report a Google Analytics purchase under the same visitor your GA4 property
   already knows, instead of inventing a new one.
 * Fixed: when a shopper arrived through several Google ads on different visits,
   the order used to carry more than one Google click id, which Google rejects. 
   Only the most recent click is kept.

#### 1.3.0

 * Fixed: on a store with no cookie-consent plugin installed, this plugin used to
   send nothing at all — no orders, no refunds, no carts — while the settings screen
   said “Tracking is active”. Sales are now always reported, carrying the shopper’s
   real consent answer, and Aopy applies your account’s own consent rules to it.
   Advertising click identifiers still require consent and always will.
 * Fixed: the settings screen now tells you the truth. It shows your last successful
   send, your last error, whether your store is connected to Aopy, whether a consent
   plugin is present, and your WooCommerce, WordPress and PHP versions.
 * Added: a “Send test event” button. It sends one real event with your saved key
   and reports exactly what came back, so a wrong key looks different from a blocked
   connection.
 * Added: an opt-in checkbox at checkout, never pre-ticked, on both the classic 
   checkout and the Checkout Block. Before this, a WooCommerce store could sync 
   thousands of customers into Aopy and email none of them, with nowhere to fix 
   it.
 * Added: one-click cart recovery. A link in your Aopy email can rebuild the shopper’s
   cart, apply the coupon you promised, and drop them on checkout.
 * Added: the Aopy on-site tracker is loaded for you once your store is connected,
   so product views and browsing reach Aopy without editing your theme.
 * Added: automatic updates. New versions now appear on your Plugins page instead
   of waiting for you to notice one and upload it by hand.
 * Fixed: a refund whose delivery failed with a server error was marked as sent 
   and never tried again, leaving a conversion standing at Google Ads and Google
   Analytics for money you had already given back. Refunds now retry with the same
   backoff purchases use.
 * Fixed: refunds now carry the date the refund actually happened. They were previously
   filed on the day Aopy received them, which put a delayed one in the wrong day—
   and at month end, the wrong month.
 * Fixed: the guard preventing one checkout being reported twice did not cover several
   of its own exit paths.

#### 1.2.2

 * Added: purchases and refunds now say which store they came from, so a business
   running more than one WooCommerce site has each sale filed under the right one
   instead of being rejected.
 * Added: purchases are reported with the time the order was actually placed, so
   a delayed or backfilled send no longer lands in your reports as “today”.
 * Added: purchases and refunds now carry the shopper’s own visit id, so the sale
   joins up with the product views and cart activity that led to it. Before this,
   you kept the order and lost the story behind it.
 * Added: the consent decision recorded at checkout is now sent with the purchase
   and the refund, so your advertising platforms are told the basis on which the
   data was shared — and a shopper who says no is honoured everywhere, not just 
   at collection time.
 * Added: when a shopper who had agreed to tracking changes their mind during a 
   visit, that withdrawal is now sent to Aopy. Before this the plugin simply went
   quiet — and going quiet looks exactly like never having been there, so their 
   earlier “yes” stayed on file and their details could keep being shared with advertising
   platforms.

#### 1.2.1

 * Cart events now report the parent product id (variation id moved to its own field)
   so add-to-cart joins the product catalog.

#### 1.2.0

 * Added: refund tracking. When you refund an order — in full or in part — Aopy 
   now tells Google Ads and Google Analytics, so your advertising reports stop counting
   revenue you gave back. Meta and TikTok are not included because their APIs have
   no way to reverse a conversion.

#### 1.1.0

 * Fixed: purchases were reported when the order was CREATED, which happens before
   the customer pays. A declined card or an abandoned payment page counted as a 
   sale. Purchases are now reported only once payment is confirmed, including cash
   on delivery and bank transfer.
 * Fixed: a failed send is now retried automatically with backoff instead of being
   lost. Duplicate sends are impossible — Aopy matches on the order number.
 * Added: checkout-started tracking, so abandoned-checkout automations can reach
   shoppers who got as far as the payment step.
 * Added: the customer’s consent decision is now recorded on the order at checkout,
   so it is applied correctly later even when payment is confirmed by the gateway
   or by hand in the admin.
 * Added: ad-campaign attribution. When your Meta/Google/TikTok click information
   is available, it is forwarded with the purchase so your ad reporting can credit
   the right campaign.

#### 1.0.0

 * Initial release: order tracking (classic + block checkout), cart-add tracking,
   WP Consent API integration, HPOS compatible.

## Meta

 *  Version **1.6.0**
 *  Last updated **4 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [abandoned cart](https://wordpress.org/plugins/tags/abandoned-cart/)[Email Marketing](https://wordpress.org/plugins/tags/email-marketing/)
   [marketing automation](https://wordpress.org/plugins/tags/marketing-automation/)
   [newsletter](https://wordpress.org/plugins/tags/newsletter/)[woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/aopy-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/aopy-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/aopy-for-woocommerce/reviews/)

## Contributors

 *   [ aopy ](https://profiles.wordpress.org/aopy/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/aopy-for-woocommerce/)