Automatic Synchronization #
When enabled, HighLevel Sync automatically creates or updates GHL contacts whenever WordPress user events occur:
- Registration — New WordPress user registers → GHL contact created.
- Profile Update — User updates their profile → GHL contact updated with mapped fields.
- Deletion — User is deleted from WordPress → GHL contact is either deleted or tagged (configurable).
- Login — User logs in →
last_logincustom field updated in GHL (throttled to once per hour).
Duplicate Prevention #
The plugin uses multiple mechanisms to prevent duplicate contacts:
- 10-second per-user sync lock — Prevents rapid duplicate sync events.
- Duplicate auto-recovery — If GHL returns a duplicate error on contact creation, the plugin automatically switches from POST to PUT (create → update).
- Email re-lookup — If a contact ID is no longer valid (deleted/merged), the plugin re-searches by email.
Ping-Pong Prevention #
When a webhook from GHL updates a WordPress user, the plugin sets a 30-second transient guard to prevent that change from being synced back to GHL, avoiding infinite loops.
