Plugin Directory

Test out the new Plugin Directory and let us know what you think.

Constant Contact for WordPress

Integrate Constant Contact into your website with this full-featured plugin.

4.1.1 on September 12, 2016

  • Fixed: Fatal error when "Comment Form Signup" setting is enabled but the "Lists for Comment Form" are not defined, and a new comment is submitted
  • Fixed: Conflict with other plugin AJAX configurations in Admin
  • Fixed: Don't load plugin Javascript on all Admin pages
  • Fixed: Hidden plugin settings not visible without re-selecting parent options

4.1 on July 8, 2016

  • Updated: Improved error handling to show helpful messages
  • Added: Additional error logging
  • Fixed: Form Designer preview not showing for some server configurations
  • Fixed: Form Designer interface style issues
  • Fixed: Error notices not printing properly
  • Modified: getAll() methods getAllLists() getAllContacts() now returns Ctct\Exceptions\CtctException on error
  • Updated: Minified scripts

4.0.3 on July 5, 2016

  • Removed: Unused Select2 library, fixing an administration JavaScript error
  • Fixed: Update admin JavaScript minification
  • Updated: Plugin libraries

4.0.2 on June 29, 2016

This is a major update that requires PHP 5.5 or higher. This was needed in order to use the latest Constant Contact code.

  • The Admin now looks great on mobile devices!
  • Constant Analytics has been removed. The authentication process changed significantly, so it was no longer working properly.
  • Added: If a contact exists in the site, link to their profile page from their single Contact page
  • Improved: URLs and emails are now links in the single Campaign page
  • Improved: Inline edit is much faster
  • Added: Campaign summary to the top of single Campaign pages
  • EventSpot:
    • Embedding single events using the shortcode with onlyactive enabled now shows a "The "{title}" event is no longer active." message.
    • Maps now link to Google Maps SSL
    • Location output includes Address 2 and Address 3, if set
    • Fixed: directtoregistration shortcode setting wasn't working ("Link directly to registration page, rather than event homepage")
    • Fixed: Added caching for if Constant Contact account has access to EventSpot
  • Form Designer:
    • New simple default form design
    • Responsive design fits better to all screen sizes
    • Visual feedback when the form is being updated
    • MUCH improved speed when designing a form
    • No longer slows down when processing an update
    • Change background, border, padding settings live
  • Improved: Existing lists for a contact will be merged with the submitted form lists, not replaced
  • Fixed: Logs not being pruned. This could lead to thousands of log posts in the database, slowing down the site.
  • Fixed: Fix fatal error when updating lists in User Profiles
  • Fixed: Improved Form Designer speed when WP_DEBUG is defined
  • Fixed: Admin pages now only process when they're supposed to
  • Tweak: Show list name in single List page
  • Tweak: Add "Status" column to Campaigns table
  • Tweak: Only "Active" users now shown by default in Contacts
  • Tweak: Filtering Contacts by status now loads new request
  • Fixed: Delete caches when de-authenticating plugin
  • Tweak: Allow Draft events to be visible to administrators
  • Removed: SMTP and DataValidation.com anti-spam tests. We recommend using MailGun Email Validator plugin instead.

Developer Notes:

  • Fixed: The ``%%id_attr%%placeholder wasn't getting replaced properly when generating list HTML inKWSContactList`
  • Fixed: Namespace the $_POST keys to avoid conflict with Ultimate Member plugin
  • Fixed: Prevent logs from being written during Form Designer AJAX
  • Fixed: Removed deprecated wp_clone() function
  • Fixed: include attribute wasn't respected in KWSContactList::outputHTML()
  • Tweak: Improved error handling for errors returned by Constant Contact
  • Tweak: Refactor LESS files for admin CSS
  • Modified: Second parameter passed to cc_event_map_link is now a \Ctct\Components\EventSpot\EventSpot object
  • Modified: Removed third parameter passed to cc_event_map_link
  • Added: ctct_oauth_uri_base filter to use your own oAuth domain. See the filter inline docs for more information.
  • Removed: Phone number validation. The phone number validator library was silly big.

Thank you to WordPress.org maintainers, who updated the plugin submitting process.

3.1.12 on August 21

  • Fixed: Compatibility with WordPress 4.3

3.1.11 on July 15

  • Fixed: Submissions not being processed properly for lists being selected using <select> inputs
  • Fixed (second try!): Invalid Header issue on activation
  • Fixed: List selection inputs were sometimes being hidden in the form

3.1.10 on June 22

  • Fixed: Invalid Header issue on activation for certain server configurations

3.1.9 on June 19

  • Fixed: Issue with Add Event button (affecting users with no events) that prevented Edit Post/Page functionality is now fully solved. Sorry for the frustration!
  • Fixed: Error when saving user profile forms
  • Fixed: Re-enable caching events data
  • Fixed: When switching accounts, delete all cached data
  • Tweak: Improve Admin tab styles

3.1.8 on June 10

  • Fixed: Fatal error in "Add Event" button that would prevent Edit Post/Page pages from loading
  • Fixed: Restored ability to embed single Events using the "Add Event" button
  • Fixed: Error when validating entries using Akismet to block spam
  • Fixed: Removed /examples/ directory that had potential security issue. Please upgrade!
  • Fixed: Fatal error on Events admin page when there are no events found
  • Updated: Phone number parsing library

3.1.7 on April 24, 2015

  • Fixed: Security update: properly sanitize URLs.
  • Fixed: short <? opening PHP tag in nameparse.php
  • Fixed: Error when adding contacts without any lists specified
  • Fixed: Converting WP_Error to a string and trim() errors
  • Fixed: Static PHP warnings
  • Fixed: Fatal Error preventing Edit Post page from fully loading (due to EventSpot embed form)
  • Updated: Phone number validating library

3.1.6 on December 17

  • Fixed: Support redirection to Thank You URL in Widget setting
  • Fixed: Fatal Error preventing Edit Post page from fully loading (due to EventSpot embed form)
  • Added: Setting to disable EventSpot integration

3.1.5 on December 2

  • Fixed: Catch WP_Error response from the REST client
  • Fixed: Namespace the V1 API classes to fix Fatal Errors on activation when already having a plugin using the OAuthSignatureMethod_HMAC_SHA1 class name
  • Fixed: Form Styler does not stay turned off after saving
  • Fixed: Issue where Akismet would return all submissions as spam
  • Fixed: Improved error handling for DataValidation.com
  • Added: constant_contact_akismet_is_test filter to tell Akismet not to train using test data
  • Fixed: Added message for users who are OPTOUT status
  • Fixed: Activity Log output now handles exceptions better
  • Modified: Updated the phone number validation script
  • Fixed: Hide PHP notices for SMTP Email Validation script


  • Fixed: Original plugin file name restored to help with auto-upgrade issues
  • Fixed: Form action URL incorrect for subdomain multisite installations. (see ticket here)
  • Fixed: EventSpot widget PHP warnings
  • Modified: New Form Designer forms have Submit field checked by default
  • Fixed: Fatal error on plugin deactivation if PHP 5.3 isn't available
  • Fixed: Form Designer Javascript Debug Mode turned off unless SCRIPT_DEBUG constant is defined and enabled
  • Tweak: Don't modify order of Form Designer fields if no position is set
  • Tweak: Improved text translations and fix textdomain issues


  • Update translation textdomain to ctct from constant-contact-api
  • Hide the custom content editor until checked
  • Fix default label size


  • Delete old username and password on activation
  • When plugin is de-activated, delete stored token and transients
  • Update InlineEdit script
  • Verify plugin status for Akismet and WangGuard plugins
  • Update DataValidation.com API integration
  • Add blank parameter to KWSContactList::outputHTML() for select dropdowns that need an empty option
  • Update strings


  • Redesigned Form Designer to match WP 4.0 look & feel
    • Added input sliders to Form Designer - easier than dropdowns
    • Used accordion instead of metaboxes
    • Use Dashicons for Bold/Italic instead of images
  • Use Dashicons for Edit pencil
  • Updated translation strings
  • Converted much CSS to LESS
  • Refactored form-designer-functions.php as CTCT_Form_Designer_Helper class


  • Rewrote form designer
  • Rewrote form output
  • Tons of updates


  • Added JS localization to fix inline edit screens
  • Fixed: Error 500 with form live preview
  • Fixed: many PHP warnings
  • Fixed: Added security validation when updating / deleting forms.
  • Fixed: logging toggle not toggling
  • Moved SafeSubscribe to Form Fields metabox in Form Designer
  • Removed Exceptional.io integration
  • Only load CTCT_Admin_Page in admin. Saves memory and improves speed.
  • Added: Zebra-striping on tables
  • Improved: Design for WP 3.8+
  • Removed: Menu when hovering-over logo
  • Changed icon images to dashicons
  • Fixed: Converted jQuery .live() to .on()
  • Added: Internationalization strings & improvements
  • Added: Disabled <input> fields to select events shortcode, instead of text. Should make it easier to grab the code.
  • Converted plugin version constant to class constants
  • Fixed: Campaigns limit fatal error: 50 not 500 are allowed.
  • Fixed: "Nothing changed" message when ajax editing Contact fields
  • Added: Improved logging with new Activity Log page
    • Use actions ctct_debug for helpful debugging output, ctct_error for errors or caught exceptions, and ctct_activity for Constant Contact REST calls.
    • Added logging settings to main settings page to specify which types of actions get logged
  • Fixed: .updated divs were being removed by the plugin's help tabs
  • Fixed: Removed extra help tabs
  • Fixed: Help tab labels now start with "Constant Contact:" when not on the plugin pages
  • Fixed: CSS / JS loading on all admin pages
  • Removed /docs/ directory
  • Add no_events_text parameter for shortcode (and widget setting) - allows you to define what text is shown when there are no events.
  • Added option to define 0 as the limit parameter to show all events
  • Sanitized widget output
  • Fixed: Insert events widget code would add lots of extra spaces to the shortcode
  • Added: onlyactive checkbox to widget (previously it was always on)
  • Added: Multiple event support, event limit selector, and onlyactive checkbox to insert event shortcode generator


  • Now uses Composer to auto-load classes
  • Updated to fix compatibility issues with changes to CTCT PHP SDK
  • Improved deleting of settings and de-authentication
  • Fixed Events shortcode echoing output instead of returning output
  • Removed Pointers implementation for now.


Completely re-written plugin

  • The biggest thing: moves the plugin over to the new Constant Contact API.
    • Now uses oAuth 2 authentication instead of passwords
  • Inline editing of Contact & List details
  • Improved documentation
    • Plugin now supports the WordPress "Help" tab
    • There are some intro tour pointers to show new users how to use the plugin
  • Subscribe to Newsletter checkbox on Comment forms
  • Removed Extra Field Mappings
  • Lots of Form Designer functionality
    • New option for using style or not
    • Now respects Submit form position
    • Includes options for transparent backgrounds and no borders
    • Includes better theme support
      • Includes classes for themes that support Gravity Forms
      • Includes support for WooThemes, Pagelines and Genesis frameworks
  • Requires WordPress 3.3 or Higher

2.4.1 - January 31, 2013

  • Fixed: issue with WordPress registration: the "Hidden Contact Lists" lists were not being properly added (the list IDs were incorrect), causing issues.
  • Added: "Default Option Text" registration option, visible when using a Dropdown List "List Selection Format". Allows you to set the default text of the dropdown list.

Requires: 3.3 or higher
Compatible up to: 4.6.3
Last Updated: 6 months ago
Active Installs: 10,000+


2.2 out of 5 stars


1 of 7 support threads in the last two months have been marked resolved.

Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,1,1 100,1,1 100,2,2 75,4,3
50,4,2 57,7,4 100,1,1 20,5,1 100,1,1 100,7,7
100,1,1 100,1,1 100,1,1
50,2,1 100,1,1
100,1,1 50,2,1
40,5,2 0,1,0
20,5,1 25,4,1 100,1,1 100,1,1 0,2,0 50,4,2 100,1,1 0,1,0
50,8,4 50,2,1
100,1,1 100,2,2 33,3,1 100,1,1
100,1,1 100,1,1 33,9,3
100,1,1 100,1,1
100,5,5 0,1,0 100,1,1
0,2,0 0,1,0 100,1,1