=== WakeMyCart – Abandoned Cart Recovery for WooCommerce ===
Contributors: wakemycart
Tags: woocommerce, abandoned cart, cart recovery, email reminder, cart abandonment
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
Requires Plugins: woocommerce
Stable tag: 1.1.21
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

WooCommerce abandoned cart recovery with one editable email reminder, cart restore links and local reports. No account required.

== Description ==
WakeMyCart offers abandoned cart recovery for WooCommerce: send an editable follow-up email to opted-in shoppers, help them restore their cart and review activity in WordPress.

[Free live demo](https://plugins.shop/wakemycart-demo/?edition=free) | [Pro live demo](https://plugins.shop/wakemycart-demo/?edition=pro) | [Setup guide](https://wakemycart.com/guide)

Try a temporary WordPress store with fictional data and a captured inbox. No signup or external sending; SMTP and Resend connections are disabled in the demos.

Free needs no WakeMyCart account or subscription and has no monthly recovery-contact cap. Use WordPress email, direct SMTP or your own Resend account. Your provider's limits and charges apply.

= Included in Free =
* Capture unfinished checkouts with shopper permission.
* One reminder: edit its subject, message and delay of 1–168 hours.
* Three email designs, your logo and accent color.
* Email previews and Send test to your chosen inbox.
* Cart restore links with confirmation and unsubscribe controls.
* Local activity reports, attributed orders, queued reminders and Recovery health. Attribution does not prove additional sales or profit.
* Separate capture/sending controls, frequency safeguards and privacy export/erasure.

= How it works =
1. Shoppers opt in at checkout.
2. Before sending, the plugin rechecks permission, sending settings and order status.
3. Email links restore the cart after confirmation.

Installation does not enable sending or guarantee capture/recovery of every cart.

= Optional separate Pro add-on =
Pro adds multi-stage sequences, cart saving before checkout, conditional follow-ups, advanced designs, experiments, cost-aware offers and detailed reports. Free tools remain available.

Keep Free active. Pro needs one eligible-account activation per store. Activated local tools continue after subscription expiry or temporary outages; private downloads and automatic updates need eligible access. Pro activation supports single-site WordPress.

[Compare Free and Pro](https://wakemycart.com/pricing) | [Support](https://wakemycart.com/help/)

== Installation ==
1. Activate WooCommerce and install WakeMyCart through Plugins > Add New or the Free ZIP. Test on staging first.
2. Open WakeMyCart > Settings; choose your sender.
3. From Overview, choose Set up and test recovery. Edit the reminder, use Send test to and check that inbox.
4. Review privacy and shopper permission. Enable capture and test checkout, restoration and unsubscribe on this same store. Check Recovery health before separately enabling sending. Quiet stores need server-triggered WordPress scheduled tasks for reliable timing.
5. Optional Pro: keep Free active, install the compatible add-on, connect and activate. Update separately without uninstalling; update Free first when Pro requires it.

Cloud/recoverkit copies need reviewed import/sender handover. Keep the original and ask support before sending; unknown prior sending outcomes stay held.

== Frequently Asked Questions ==

= Do I need Resend or another SMTP plugin? =
No. Both editions offer WordPress email, direct SMTP and your own Resend account. Direct SMTP needs no additional plugin and affects only WakeMyCart recovery mail.

= Can I change the test email recipient? =
Yes. Send test to accepts one address without subscribing it or changing your WordPress profile. Provider acceptance does not guarantee delivery.

= Are contacts or reminder frequency limited? =
No monthly contact cap applies. The configurable frequency safeguard defaults to three reminders per contact per UTC month. Raising it never expands existing shopper permission; provider limits still apply.

= Why are abandoned cart emails not sending? =
Check capture/sending, permission, delay, frequency limits, order status and Recovery health, then your sender test, provider logs and spam folder.

= What happens if I disconnect or remove Pro? =
Disconnecting clears activation and pauses sending; review and resume Free without an account. Removing Pro preserves designs, flows and history but they need the add-on. Pro messages/cart-link requests can stop; reinstalling does not replay skipped messages. Cost-protected coupons need Pro's validator at redemption. Review pending work first. Links retain expiry/privacy checks.

= Where is shopper data stored? =
Records stay in WordPress, with account/migration exceptions below. Your mail provider receives addresses/messages. No open-tracking pixel is added. Links record observed clicks; remote images contact their host. Review provider tracking settings.

== External services ==

= Email delivery =
WordPress email uses your host's mail or configured email plugin. Direct SMTP uses authenticated STARTTLS or TLS. Tests/recovery sends share sender/recipient addresses and message contents with your server. SMTP credentials are encrypted in WordPress, never sent to WakeMyCart's account service. Provider terms, privacy and limits apply.

Saving a Resend sender triggers API-key-authenticated domain checks at https://api.resend.com. Routine checks normally run no more than once every six hours, even while paused, retrieving domain status, not shopper records. Test/recovery sends share sender/recipient addresses and message contents. Optional signed delivery feedback reaches your store's webhook.

Saving a WordPress email or SMTP sender stops routine Resend checks and pauses recovery. Prepared messages retain their provider configuration. To end Resend access, pause recovery, disable Pro cart emails, review pending messages and revoke the key. In-flight requests cannot be recalled; provider retention is separate.

[Resend privacy](https://resend.com/legal/privacy-policy) | [Resend terms](https://resend.com/legal/terms-of-service)

= Optional WakeMyCart account =
Explicit connection for Pro/account services sends merchant/store registration data: site URL, installation/protocol identifiers, plugin versions and coarse recovery-health codes. Normal local-engine requests exclude shopper names, emails, carts, products, orders, messages, recovery tokens and shopper hashes.

Disconnect in Settings to stop account requests. Free updates use WordPress or a manual ZIP without an account; only Pro requests private updates. Older cloud records need reviewed cleanup. Old links/delivery feedback may use a compatibility relay for up to 365 days, an exception to local-only processing.

[WakeMyCart privacy](https://wakemycart.com/privacy) | [Service terms](https://wakemycart.com/terms)

== Data and removal ==
Cart snapshots normally remain 30 days after activity; recovery detail 90 days; terminal prepared bodies 48 hours. Unsubscribe links can last 365 days; anonymous summaries 13 months. Minimal suppression keys prevent renewed contact. Cleanup needs a scheduler. Providers, backups and WooCommerce orders have separate retention.

Shared privacy tools cover prior Pro cart-email requests after removal: details/links expire after seven days, de-identified counts after 30 days and hashed abuse limits after two days, with scheduled cleanup.

WordPress Tools > Export/Erase Personal Data covers recovery records. Erasure blocks stale callbacks recreating shoppers; totals freeze when underlying order copies are deleted. Deactivation and Pro removal preserve shared data. Uninstall deletion is off by default; enable it in advanced settings. No plugin alone establishes GDPR compliance.

Explicit Pro plans/download/activation actions or Pro reloads can store a task/date per browser, store and administrator for up to 14 days; the next workspace read removes expired entries. Use Forget this task or clear storage to remove it. Preview/invitation dismissals persist until restored or storage is cleared. Opening a preview records no task. No shopper data, campaign content or credentials are stored; no analytics are sent.

The optional review invitation requires 30 days since the first scheduled reminder attempt and five first attempts on three UTC days. Failed handoffs count; retries, tests/self-tests and local/development/staging sites do not. Delivery, sales and opinions never affect eligibility. Choose review, remind in 14 days or never. Opening review dismisses it without checking submission. Capped counts/dates and per-user/site preferences stay in WordPress across editions; no shopper identities or review telemetry. Help remains available and explains eligibility.

== Screenshots ==
1. Free overview with recent opted-in checkouts in a fictional sample store.
2. Three Free email layouts with editable copy, logo and accent color.
3. Edit Free's single reminder, timing and copy, with a live preview and Send test to.
4. Preview a Free email with sample items and a return-to-cart link.
5. Choose WordPress email, direct SMTP or Resend. Direct SMTP is shown; credentials are blank in this fictional store.
6. Review local recovery health and queue checks. Sample sending is paused.

== Changelog ==

= 1.1.21 =
* Immediate consent capture and clearer same-store testing.
* Require a first Resend key; invalidate stale tests on sender changes.
* Clearer Free setup/reminder, activation redirect and Plugins Settings shortcut.

Earlier notes: changelog.txt.

== Source and translations ==
Source, exact lockfile and build tools: source/README.md. Licences: THIRD-PARTY-NOTICES.txt. WordPress supplies React/ReactDOM. Translation templates: languages/; coverage excludes merchant-written emails.
