Constant Contact Integration for MemberPress automatically syncs your MemberPress members to Constant Contact lists when they sign up, renew, or have their membership expire — through the official OAuth2-secured Constant Contact v3 API.
Map a Constant Contact list to each membership event and the plugin keeps everything in sync in real time. Members move cleanly between lists as their state changes, so the right people always receive the right campaigns — no CSV exports and no manual cleanup.
A nightly safety-net job double-checks for any expired members that real-time hooks may have missed, and every credential is encrypted.
Note: the OpenSSL extension is required so the plugin can encrypt your Constant Contact credentials. If it is not available, the plugin will refuse to activate and show an admin notice.
Go to developer.constantcontact.com and sign in, or create a free developer account.
Under My Applications, click New Application, give it a name (for example "My WordPress Site"), and click Save.
Copy the API Key (Client ID). Then click Generate Client Secret and copy the secret — it is only shown once.
Add a Redirect URI: copy the exact value shown on the plugin's settings page (it looks like https://yoursite.com/wp-admin/admin-post.php?action=mp_cc_oauth_callback).
Paste the Client ID and Client Secret into the plugin's settings page and click Save Credentials. Your secret is stored encrypted in the database.
Once connected, three dropdowns appear. Select the Constant Contact list to use for each MemberPress event:
Click Save List Mappings. Use the Refresh lists link any time you add new lists in Constant Contact.
The plugin listens to MemberPress events and updates Constant Contact within seconds of a signup, renewal, cancellation, or expiry. It also detects status changes you make manually from the MemberPress Transactions screen.
Access tokens are refreshed automatically when they expire. The plugin stores the token expiry time and requests a fresh token using the saved refresh token before making any API call, so the connection never silently breaks.
A WP-Cron job runs every night at 12:05 AM in your site's timezone. It looks back 48 hours for any expired members that real-time hooks may have missed (for example, if your site was offline when MemberPress fired the event) and migrates them to the expired list. Each member is processed only once.
Deleting the plugin via Plugins > Delete will automatically remove all stored options and transients from the database, including your encrypted credentials and tokens. Simply deactivating the plugin leaves your settings in place.
If you have any questions that are which are not listed in documentation, Feel free to get in touch with us on