Harbor Loops Sync for WooCommerce
Sync WooCommerce customers to Loops contacts and fire order events, no middleware required.
Harbor Loops Sync for WooCommerce connects your store to Loops (loops.so). It creates or updates a Loops contact when a user registers and when a customer completes an order, and fires an order event to Loops on completion. Every call is queued via Action Scheduler, never inline during checkout.
Free vs. Pro
$0
Download on WordPress.org
- Contact upsert on WordPress user registration
- Contact upsert on WooCommerce order completion
- order_completed event with total, order number, and currency
- Configurable field mapping: Loops property -> WordPress / WooCommerce source
- Background processing via Action Scheduler: never blocks checkout
- Bulk sync of existing users and guest-order email addresses
- Sync log with per-request HTTP status and error message, pruned after 30 days
- GDPR: personal-data exporter and eraser for WordPress privacy tools
$79
/yearAgency license: $149/year (unlimited sites)
Everything in Free, plus:
- Full WooCommerce event library: product purchased, subscription cancelled, cart abandoned, refund processed, review submitted
- Mailing-list assignment by purchased product or user role
- Transactional email passthrough for WooCommerce emails
- Signed webhook syncing Loops contact properties back to WordPress user meta
- Cart-abandonment tracking
- Conditional sync rules
Technical requirements
- WordPress
- 6.3+
- WooCommerce
- 8.0+
- PHP
- 7.4+
- Loops account
- Required
FAQ
Does syncing slow down checkout?
No. All Loops requests are queued via Action Scheduler and processed in the background after the order is placed.
What happens if a request to Loops fails?
The request is retried up to three times on rate-limit and server-error responses, honouring the Retry-After header. If it still fails, the error, HTTP status code, and message are written to the sync log.
Can I keep my API key out of the database?
Yes. Define HLPS_API_KEY in wp-config.php and the plugin uses that value instead of the stored option. The settings screen shows the field as locked.
What's new
v1.0.0
2025-05-01
- ยทInitial release with contact upsert, order events, bulk sync, and sync log