ConvertKit makes it easy to grow your email subscribers lists, sell more products and send targeted email newsletters – all by easily embedding email marketing / email subscriber forms anywhere on your WordPress web site.
Email Marketing and Email Newsletter Features
- Design subscription forms in ConvertKit, automatically appending them to any WordPress post or page, or displaying forms within your WordPress content using the supplied Gutenberg block and shortcode options. Perfect for building your email subscriber lists.
- Build landing pages in ConvertKit, and display them on a WordPress page to capture email subscribers
- List past email newsletters on your WordPress site
Design forms in ConvertKit, choosing from a variety of designs, customisable to your branding.
Sign up forms can be configured to:
- Send free content, such as a PDF
- Display when the user is about to leave the page
- Subscribe to an email newsletter, with powerful tagging and segmentation options
Embedding ConvertKit forms on your WordPress web site with the ConvertKit Plugin is quick and simple:
- Choose a default form to be displayed below each individual Post Type (Pages, Posts and other public Post Types, such as WooCommerce Products)
- Choose a specific email marketing form to be displayed below a specific Page, Post or custom post type
- Turn off form embedding at both site wide and/or individual Page/Post level
For greater control, ConvertKit’s email marketing subscription forms can be displayed in specific sections of your WordPress site’s content, sidebars and footers by:
- Using the ConvertKit Forms block in Gutenberg
- Using the
[convertkit]shortcode in the Classic Editor
Start collecting email subscribers today!
Embed landing pages, designed in ConvertKit, on your WordPress web site, choosing from a variety of designs, customisable to your branding and ideal for building your email marketing list or selling a product.
Create or edit a WordPress Page, choose the ConvertKit landing page from the ConvertKit meta box settings to display, and you’re all set to begin growing your email subscribers list.
Email Newsletter Broadcasts
Use ConvertKit’s email marketing feature to send email newsletters to your subscribers and leads.
Embed existing email newsletters on your WordPress web site, ensuring visitors never miss your email marketing content, by:
- Using the ConvertKit Broadcasts block in Gutenberg
- Using the
[convertkit_broadcasts]shortcode in the Classic Editor
Embed buttons (or link text) to sell your ConvertKit Products in seconds – whether that’s digital goods, paid newsletters, music, coaching and more.
Already have content on your site that you want to sell? Use the Member Content functionality on Pages to require email subscribers purchase a ConvertKit Product to access your content – whether that’s a course or digital download.
With the ConvertKit for WordPress Plugin, you also get integrations with:
- Elementor: Form and Broadcast widgets natively integrated with Elementor, to embed ConvertKit forms and broadcast lists
- Contact Form 7: Automatically add email subscribers to ConvertKit when they submit a Contact Form 7 form
- WishList Member: Automatically subscribe, unsubscribe and tag users based on their membership level
Our other WordPress Plugins provide further integrations between WordPress and ConvertKit:
- ConvertKit for WooCommerce: Subscribe, tag and assign sequences to customers at checkout, and send order data to ConvertKit
- ConvertKit for Gravity Forms: Automatically add email subscribers to ConvertKit when they submit a Gravity Form, with tagging options
What is ConvertKit?
ConvertKit is the go-to marketing hub for creators that helps you grow and monetize your audience with ease.
Grow your audience: Increase subscribers with beautiful landing pages, sign up forms, and link pages that make your work stand out.
Automate your marketing: Create lasting connections and promote like a pro with our intuitive email editor, powerful sales funnels and subscriber list segmentation using tags.
Sell your digital products: Market and sell your digital products and subscriptions with ConvertKit to drive higher conversions and save big on fees.
If you are not yet using ConvertKit, creating an account is 100% free and only takes you about 30 seconds.
Full Plugin documentation can be found here.
- Configure the plugin by navigating to Settings > ConvertKit in the WordPress Administration Menu, entering your API Key and defining the default forms to display on Pages, Posts and/or Custom Post Types
- (Optional) choose a specific Form to display when editing a Page, Post or Custom Post Type in the Page/Post/Custom Post Type’s ConvertKit settings
- (Optional) use the ConvertKit Form Shortcode or Block to insert Forms into your Page, Post or Custom Post Type content
- Upload the
convertkitfolder to the
- Active the ConvertKit plugin through the ‘Plugins’ menu in WordPress
Does this plugin require a paid service?
No. You must first have an account on convertkit.com, but you do not have to use a paid plan!
- Navigate to the Plugin’s Settings at
Settings > ConvertKit
- Click the refresh button displayed next to the Form, Landing Page or Tag fields when creating/editing Pages or Posts
- Navigate to the Plugin’s Settings at
Where can I find the Plugin’s Documentation?
Full Plugin documentation can be found here.
Contributors & Developers
“ConvertKit – Email Marketing, Newsletter, Subscribers and Landing Pages” is open source software. The following people have contributed to this plugin.Contributors
“ConvertKit – Email Marketing, Newsletter, Subscribers and Landing Pages” has been translated into 3 locales. Thank you to the translators for their contributions.
Translate “ConvertKit – Email Marketing, Newsletter, Subscribers and Landing Pages” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
- Added: Broadcasts: Options to display grid, images, descriptions and/or read more link
- Added: Broadcasts: Output as single column on smaller screen resolutions
- Added: Forms: Block: Display message with link when no API Key specified, or no Forms exist in ConvertKit
- Added: Products: Block: Display message with link when no API Key specified, or no Products exist in ConvertKit
- Fix: Settings: Disable CSS: Improve description of Disable CSS functionality, making it clearer what this setting does
- Fix: Use
- Added: Elementor: ConvertKit Form Trigger Block
- Added: Member Content: Automatically configure WP Fastest Cache and WP-Optimize Plugins to not cache when the
ck_subscriber_idcookie is present, to ensure Member Content correctly displays
- Added: Member Content: Display a notice if Litespeed Cache, W3 Total Cache or WP Super Cache Plugins are active and have not been configured to exclude caching when the
ck_subscriber_idcookie is present
- Fix: Elementor: ConvertKit Product: Button icon was missing
- Fix: Block Editor: Don’t display options to link text to display a non-inline form if no forms exist in ConvertKit
- Fix: Block Editor: Don’t display options to link text to display a Product or Tip Jar if no Product / Tip Jar exists in ConvertKit
- Fix: Settings: Escape tab links on output
- Added: ConvertKit Form Trigger Block, outputting a button which displays a non-inline form (modal, slide in, sticky bar) when pressed
- Added: ConvertKit Form Trigger Shortcode, outputting a button which displays a non-inline form (modal, slide in, sticky bar) when pressed
- Added: Block Editor: Link text to display a non-inline form (modal, slide in, sticky bar) when pressed
- Added: Block Editor: Link text to display a ConvertKit Product or Tip Jar when pressed
- Fix: Forms: Output non-inline scripts once per form, to avoid the same form displaying twice when embedded two or more times in a page
- Fix: Forms: Output non-inline scripts using the
wp_footerhook, ensuring modal overlays fill the screen
- Fix: Member Content: Append
ck-cache-bustquery parameter after entering code, to prevent plugin / host caching showing stale data
- Fix: Settings: Tools: Import / Export: Include Member Content settings in import and export configuration
- Fix: Settings: Member Content: Display warning notice that web host caching / caching plugins must be configured to disable caching when the
ck_subscriber_idcookie is present
- Fix: Improve UI compatibility for buttons in WordPress 5.x, using
button-heroCSS class instead of custom padding
- Updated: ConvertKit WordPress Libraries to 1.3.4
- Added: Link to Setup Wizard on Plugins screen
- Added: Improved ConvertKit Icons in Classic Editor and block editor for Broadcasts, Forms, Products and Custom Content
- Fix: Post: Settings: PHP notices when settings are not an array
- Fix: Landing Pages and Legacy Forms: Deprecated
mb_convert_encoding()message in PHP 8.2
- Added: Member Content (Beta): Require subscribers to purchase a ConvertKit Product to access specific Pages on your WordPress site. Head over to
Settings > ConvertKit > Member Contentto get started.
- Fix: Product: Block and Shortcode: Set stylesheet ID to
convertkit-product-css, to match other blocks
- Fix: Blocks: Use wp.serverSideRender instead of soon to be deprecated wp.components.ServerSideRender
- Fix: Forms: Preview: Support for previewing and editing Legacy Forms
- Fix: Improved performance in WordPress Admin when invalid API credentials specified on new installation
- Fix: Display notice in WordPress Admin with link to settings screen when invalid API credentials specified
- Added: Settings: ConvertKit: Documentation tab
- Added: Forms: Link to edit form in ConvertKit when previewing a Page, Post or Custom Post containing a ConvertKit form
- Fix: Display Forms, Landing Pages, Products and Tags in alphabetical order when listed in a
- Fix: Form: Block and Shortcode: Check Forms exist in ConvertKit before outputting Block / Shortcode options
- Fix: Form: Shortcode: Remove unused API Key output
- Fix: Product: Block: Preview: Improved performance when previewing the Product block to determine if a ConvertKit Product was specified in the Block’s settings
- Fix: Product: Shortcode: Remove unused API Key and data-attributes output
- Fix: Elementor 3.9.0+ compatibility
- Updated: ConvertKit WordPress Libraries to 1.3.0
- Fix: Honor “Add a tag” setting when enabled on a Page/Post
- Fix: PHP Warning: Cannot modify header information – headers already sent, when ?ck_subscriber_id included in request URI in some Page Builders (e.g. Elementor)
- Fix: PHP Warning: Trying to access array offset on value of type null
- Fix: Broadcasts: Strip slashes on output when pagination clicked and Broadcasts are reloaded
- Fix: Broadcasts: Sanitize and escape HTML attributes on output
- Fix: Forms: Escape HTML attributes on output
- Fix: Products: Sanitize and escape HTML attributes on output
- Fix: Products: PHP warning when attempting to parse an invalid Product URL
- Fix: Landing Pages: Catch and log when an error occurs fetching a Landing Page
- Fix: Remove double forwardslash on product.css
- Added: Categories: Option to specify ConvertKit Form to display when adding a new Post Category
- Fix: Bulk & Quick Edit: Improve layout of ConvertKit settings on desktop and mobile
- Fix: Post: Improve layout of ConvertKit settings on desktop and mobile
- Fix: Categories: Improve layout of ConvertKit settings on desktop and mobile
- Fix: Products: Block: Display preview when adding new block
- Fixed: Removed argument count on
- Added: Broadcasts: Block: Display message in editor when no Broadcasts exist in ConvertKit
- Fixed: Settings: Contact Form 7: Render screen correctly when no Forms in ConvertKit
- Fixed: Settings: WishList Member: Render screen correctly when no Forms in ConvertKit
- Added: ConvertKit Products Block, to output a button linking to a ConvertKit Product or Tip Jar
- Added: ConvertKit Products Shortcode, to output a button linking to a ConvertKit Product or Tip Jar
- Added: Gutenberg: Option to link text or button to a ConvertKit Product or Tip Jar
- Added: Classic Editor: Option to link text or button to a ConvertKit Product or Tip Jar
- Added: Settings: Improved UI
- Added: Broadcasts: Shortcode: Options to specify background, text and link colors
- Added: Broadcasts: Elementor: Options to specify background, text and link colors
- Added: Settings: General: Links added to preview Default Form for each Post Type
- Added: Setup Wizard for new installations
- Fix: Text Editor: Quicktag Buttons: Position and size modal window correctly to avoid scrollbars and whitespace
- Fix: Widgets: Legacy Forms Widget: “The convertkit_form block was affected by errors and may not function properly” when attempting to add legacy form widget
- Development: Moved /lib folder to managed repository
- Added: Settings: Tools: Use WordPress’ Site Info to populate System Info section
- Added: Refresh button: Show error notification when refreshing fails
- Fix: Widgets: Broadcasts Block: JSON response error when attempting to save Broadcasts Block in a Widget area
- Fix: Classic (Visual) and Text Editor: Insert shortcode into correct editor when multiple editor instances exist (e.g. WooCommerce Products)
- Fix: API: Show error notification when API returns HTTP 500 and 502 errors, instead of showing PHP warnings
- Fix: Bulk and Quick Edit:
forlabel attribute now matches the field ID
- Added: Refresh button for Form, Landing Page and Tag fields to fetch latest data from ConvertKit account
- Fix: Bulk Edit: Don’t display fields when no Pages / Posts exist
- Added: Bulk and Quick Edit Form and Tag when viewing list of Pages/Posts
- Fix: Performance: Don’t perform API requests on every WordPress Administration screen when no Forms, Tags or Landing Pages exist
- Fix: API: Prevent fatal error when API returns null instead of expected array
- Added: Elementor Page Builder: ConvertKit Broadcasts Widget
- Fix: Integration: WishList Member: Unsubscribe email address from ConvertKit if ‘unsubscribe’ configured and member level removed
- Fix: Remove double forwardslash on some enqueued scripts and styles
- Added: Broadcasts: Option to enable pagination on block/shortcode
- Added: ConvertKit Broadcasts Block when editing Widgets using the block editor in WordPress 5.8+
- Added: ConvertKit Form Block when editing Widgets using the block editor in WordPress 5.8+
- Fix: ConvertKit Broadcasts Block/Shortcode: Fetch all Broadcasts from ConvertKit, not just the first 50
- Fix: Settings: Added label element for setting field names
- Fix: PHP Warning: Cannot modify header information, caused by QuickTags modal template output
- Fix: Text Editor: Quicktag Buttons: Block could not be found error when using a Quicktag
- Added: ConvertKit Broadcasts Block, to output a list of ConvertKit broadcasts
- Added: ConvertKit Broadcasts Shortcode [convertkit_broadcasts], to output a list of ConvertKit broadcasts
- Added: Settings: Tools: Import and Export configuration
- Fix: Page/Post: If a specific Form is selected that no longer exists in ConvertKit, fallback to the Default Form setting
- Added: Elementor Page Builder: ConvertKit Form Widget
- Fix: Default Form would not display on Posts assigned to Categories, where Categories were created prior to 184.108.40.206 and site uses PHP 8.0 or greater
- Fix: Categories: Improved wording of Form setting on per-Category level
- Fix: Default Form would not display on Posts due to regression in 220.127.116.11
- Fix: Default Form would not display on Posts due to regression in 18.104.22.168
- Fix: ConvertKit Form Block: Order Form names alphabetically
- Fix: Prevent Select2 styling from applying to non-Plugin elements
- Added: ConvertKit Form Block: When editing, display the Form Name if a non-inline form has been selected, as non-inline forms cannot be previewed in the editor
- Fix: Include email address in API request when attempting to fetch subscriber ID by email when ConvertKit Form is submitted with no email address
- Fix: Performance: Don’t query API to fetch subscriber ID by email when ConvertKit Form is submitted with no email address
- Fix: Localization: Corrected path to load language files
- Fix: Plugin Activation: Parse error when using PHP 7.2 or below due to trailing comma in sprintf() call
- Added: ConvertKit Form Block for Gutenberg
- Added: Select2 dropdown for Forms, Landing Pages and Tags with search functionality for improved UX.
- Fix: Legacy Forms: Removed erronous , and tags from markup
- Fix: Render Legacy Form when shortcode is copied from app.convertkit.com for a Legacy Form
- Fix: Don’t check for Landing Page when viewing any non-Page public Post Type which doesn’t support Landing Pages
- Fix: PHP Notice: Undefined index landing_page when upgrading from 1.4.6 or earlier
- Fix: PHP Notice: Undefined index tag when upgrading from 1.4.6 or earlier
- Fix: Render Legacy Landing Pages
- Fix: Render Form Shortcode when a new ConvertKit Form ID specified that does not yet exist in Plugin’s cached Form Resources
- Fix: Character encoding issue on Landing Pages
- Fix: Removed unused .scripts directory and .MD files
- Added: ConvertKit Form Shortcode Button for Classic Editor
- Added: Text Editor: Quicktag Buttons for inserting ConvertKit Forms and Custom Content
- Added: Settings: ConvertKit: Logo and branding header
- Added: Option to specify ConvertKit API Key and Secret as constants
- Added: Settings: ConvertKit: General: Different Default Forms can be specified for Pages and Posts
- Added: Settings: ConvertKit: General: Enabling Debug option will also output data to browser console and inline HTML comments
- Added: Settings: ConvertKit: Tools: Option to Download Log to text file
- Added: Settings: ConvertKit: Tools: Option to Download System Info to text file
- Added: PHP 8.x compatibility
- Added: Developers: Action and filter hooks. See https://github.com/ConvertKit/convertkit-wordpress/blob/1.9.6/ACTIONS-FILTERS.md
- Fix: PHP warnings on new installations when adding/editing Pages or Posts where the plugin was not yet configured
- Fix: PHP 8.x: PHP Deprecated warnings where required parameters wrongly followed optional parameters
- Fix: gzinflate() data error
- Fix: Deprecated edit_category_form_fields warning
- Fix: Integration: WishList Member: Unsubscribe Action ‘Unsubscribe from all’ now honored when selected and saved
- Fix: Ensure code meets WordPress Coding Standards
- Fix: Use WP_Filesystem instead of PHP functions to read/write log file, per WordPress Coding Standards
- Fix: Fixed an issue where the ConvertKit shortcode would not function properly.
- Fix: Updated GitHub zip URL for build.
- Fix: Changed how API responses are logged.
- Fix: Reduced Debug output to improve performance.
- New: Increase minimum supported WordPress version to 4.9 and maximum supported WordPress version to 5.6.2
- Fix: Restore original plugin file name (
wp-convertkit.php), which reverts the breaking file name change (
plugin.php) released in 1.9.3
- Fix: Fixed inconsistent refreshing of forms in the ConvertKit forms dropdown
- Fix: Fixed occasional “undefined variable” notices regarding the API key and API secret
- Tweak: Add ConvertKit plugin information to useragent of plugin API requests
- New: Increase minimum supported WordPress version to 4.8 and maximum supported WordPress version to 5.5.3
- Fix: Fix occasional “undefined variable” notice when viewing ConvertKit forms dropdown
- Fix: Only log transients from
get_form()method when debugging is enabled
- Tweak: Remove
sslverify => falseargument from main ConvertKit API call
- Fix issue that prevented Google fonts from loading on landing pages
- Fix issue that resulted in multiple failed API calls for non-existent subscribers passed in via query parameter
- Fix bug that prevented “refresh forms” button on settings page from working
- Allow appending forms to WooCommerce products
- Fix bug that prevented setting “none” for form on a post from overriding category setting
- Add account name to settings page
- Fix bug that could result in fatal error with certain other plugins active
- Add additional server debug info for tech support
- Displays tags/LPs/forms alphabetically
- Several edge-case bug fixes
- Removes confusing utf8 warning on settings page
- Fix false positive detection of character set issues related to using emojis in forms & landing pages
- Don’t show error on tools tab on first visit with logging turned on
- Fix code conflict with some other plugins that resulted in PHP warnings being displayed
- Fixed problem with a library that was only compatible with PHP 7+
- Adds checks and notices for outdated character set (utf8 vs. utf8mb4) use
- Add notice to metabox on blog archive page that our plugin does not do anything on this page
- Update library to make plugin work with PHP 7.3 (previously, landing pages did not work)
- Fix issue where global default form would never show for some categories
- Fix include path for system status box on tools tab
- Fix bug that caused fatal error on upgrade
- Fix bug that caused fatal error on upgrade
- New: Significantly improve performance of plugin by only attempting to tag visitors if needed (not on every page)
- Fix conflict with Yoast SEO plugin
- Fix bug that prevented plugin from working with PHP 7.3
- Fix bug that prevented changing a category default form back to None
- Clarify that both API key and secret are required
- Fix bug that stripped out URL query parameters unrelated to ConvertKit
- Better handle refreshing list of forms in the connected ConvertKit account
- Added tools tab with debug log and system info boxes
- Fixed a bug that would show a PHP notice in some cases
- Fixed two bugs that would sometimes result in the custom content feature failing
- Fixed a bug that would sometimes cause WishList Member integration settings to not save
- Fixes issues with Contact Form 7 integration not saving form settings.
- Adds button to refresh on settings page, to fetch new forms added to the connected ConvertKit account.
- Fix for this message when Landing Page is set to None: PHP Notice: Undefined offset: 0
- Fix for new form builder being used in shortcode with “form” attribute instead of “id”
- Fix for landing pages not showing in the admin area drop down
- Fix for showing new landing pages on the front end of the site
- Added jquery to landing pages as new landing page builder does not include it
- Add support for new form builder
- Remove unnecessary API calls
- Store form/landing page/tag data in WP Options
- Add update routine for refreshing local convertkit data
- Fix for applying tags based on page views on initial visit. This adds an ajax call
to each visit which some customers expressed concern about. We will add a way to remove this in an upcoming version.
- Fix for adding ck_subscriber_id to cookie
- Added a default form setting for post categories
- Clean up logging
- Remove admin ajax calls from each page load
- Remove api calls from the dashboard list posts page
- Fixed plugin settings link
- Fixed localization of data.
- Removing console.log from js.
- Added saving subscriber_id after visitor fills out ConvertKit form
- Added saving subscriber_id when visitor lands on site from ConvertKit email link
- Added “Add a tag” to Posts/Page metabox
- Added convertkit_content shortcode to show content to subscribers who have a tag
- Removed transient for API calls.
- Changed widget to use option setting instead of making API call.
- Reduced number of API calls while the site is being browsed.
- Updated contributors
- Fix _get_meta_defaults() because Posts and Pages set to Default were not showing forms.
- Updated ConvertKit_API::_get_api_response() to inflate response body if necessary.
- Fixed API response not getting unzipped
- Added check for multibyte string PHP extension
- Fixed CF7 mapping not showing all forms
- Changed log file to write locally instead of using WP_Filesystem
- Code refactor with WordPress Code Standards
- Added ability to tag a customer when WishList Member membership lapses
- Added WishList Member tag a customer
- Removed curl and replaced with wp_remote_request
- Fix for landing pages not appearing.
- Added code to API to not return status_code 404 content
- Uncommented logging around api calls.
- Do not show 404 page content when shortcode is used with form ID that does not exist
- If ConvertKit API is unavailable fail gracefully
- Fix for Contact Form 7 message sending when no ConvertKit forms are mapped
- Removed archived forms from the list of available forms in settings page
- Added i18n support
- Added Contact Form 7 integration. Site admins can now map CF7 name and email fields to CK subscription.
- Verified functionality with latest version of WishlistMember
- Add WP widget for form
- Updates form version to v6
- Add logger to help troubleshoot issues
- Add link to CK account if no forms available
- Add notice if can’t connect to API
- Fixed issue with WishlistMember integration where members were not being subscribed.
- Add upgrade routine to change ID to form_id for API version 3.0
- Update ConvertKit API to version 3.0
- Fix WishList Member email sent to CK API when shopping cart used.
- Fix crash when API response is slow
- Avoid calling API endpoints when no forms need to be shown
- Fixes issue with illegal offset showing warning message
- Fix bug showing warning messages for some users
- Fix bug showing error messages for some users
- Updated for compatibility with WordPress 4.3
- Another fix for a pesky bug causing syntax errors
- Fixes a bug causing syntax error when getting options
- Added WishList Member integration
- Updated API methods
- Fixed a warning that appeared sometimes when no forms were loaded.
- Updated to use responsive forms
- Initial release