Migrate from ConvertKit (Kit)

This guide walks you through migrating your email marketing from ConvertKit (now Kit) to Broadcast. Since both platforms use a tag-based subscriber model, the transition is relatively smooth. Plan for one to two hours depending on the complexity of your sequences and the size of your subscriber list.

Before You Start

Make sure you have the following in place:

  1. A Broadcast account. Sign up at sendbroadcast.com if you haven’t already.
  2. A broadcast channel configured. Create one from your dashboard – this is where your subscribers, campaigns, and settings live.
  3. An email server connected. Connect an ESP (Amazon SES, SendGrid, Mailgun, Postmark, Resend, or SMTP) to Broadcast. See the Email Servers guide for setup instructions.
  4. Your sending domain verified with SPF and DKIM records configured for your ESP.

Step 1: Export Subscribers from ConvertKit

  1. Log into your ConvertKit account
  2. Navigate to Subscribers (or Grow > Subscribers depending on your interface version)
  3. Click Export CSV – you can export all subscribers or filter by tag, segment, or form before exporting
  4. ConvertKit will email you a download link when the export is ready. For large lists, this may take a few minutes.
  5. Download and open the CSV file

The ConvertKit export typically includes: email address, first name, subscriber status, creation date, and tags. Tags are usually exported in a separate column or as comma-separated values.

Important: ConvertKit’s export includes both active and canceled/unsubscribed contacts. Filter your CSV to separate active subscribers from unsubscribed ones before importing into Broadcast.

Step 2: Export Sequences and Automation Content

ConvertKit does not provide a bulk export for sequence email content or visual automation workflows. You’ll need to manually document each one.

For each sequence you want to migrate:

  1. Open the sequence in ConvertKit
  2. For each step, copy the email subject line, body content, and note the delay between steps
  3. Document any conditional logic, branching rules, or tag-based filters
  4. Note which forms or events trigger enrollment into the sequence

For visual automations:

  1. Open the automation in ConvertKit
  2. Screenshot or document the flow – triggers, conditions, actions, and email steps
  3. Copy the content of each email node

This manual step is the most time-consuming part of the migration, but it’s necessary because ConvertKit does not expose automation content in an exportable format.

Step 3: Prepare and Import Your CSV

Open your ConvertKit CSV export and map the columns to Broadcast’s expected format:

ConvertKit Column Broadcast Column
Email Address (or email) email
First Name (or first_name) first_name
Tags tags
Created At subscribed_at

Preparation notes:

  • Tags. If ConvertKit exports tags as comma-separated values in a single column, Broadcast can parse them during import. If tags are in separate columns, you may need to consolidate them into a single comma-separated column first.
  • Custom fields. If you used ConvertKit custom fields (beyond first name), include them in your CSV. Broadcast stores custom subscriber data as flexible fields that you can map during import.
  • Subscriber status. Only import active subscribers. Set aside unsubscribed and complained contacts for your suppression list.

To import into Broadcast:

  1. Navigate to Subscribers in your Broadcast dashboard
  2. Click Import
  3. Upload your prepared CSV
  4. Map each column to the corresponding Broadcast field using the import wizard
  5. Apply a tag like convertkit-import to all imported subscribers for easy identification
  6. Start the import – large files process in the background

After the import completes, add unsubscribed email addresses from your ConvertKit export to your suppression list to prevent accidental re-enrollment.

Step 4: Recreate Email Templates

ConvertKit email templates need to be rebuilt in Broadcast. If you used ConvertKit’s minimal template style (which many creators prefer), this is quick work.

For text-focused emails. Use Broadcast’s rich text editor. Copy your email content, update any ConvertKit-specific personalization tags, and save as a template.

For HTML emails. If you used custom HTML in ConvertKit, copy the HTML and paste it into Broadcast’s HTML editor.

Update ConvertKit personalization tags to Broadcast’s Liquid syntax:

ConvertKit Tag Broadcast Liquid Variable
{{ subscriber.first_name }} {{ subscriber.first_name }}
{{ subscriber.email_address }} {{ subscriber.email }}
{{ unsubscribe_url }} {{ unsubscribe_url }}

You’ll notice that Broadcast also uses Liquid-style template variables. The syntax is very similar, so most of your personalization will carry over with only minor adjustments to field names.

Step 5: Rebuild Sequences

Using the content you documented in Step 2, recreate your ConvertKit sequences in Broadcast.

  1. Go to Sequences and click New Sequence
  2. Name your sequence to match the original (e.g., “Welcome Series”)
  3. Add a step for each email in the original ConvertKit sequence
  4. Set the delay between steps to match your original timing (e.g., 1 day, 3 days)
  5. Paste and update the email content for each step, adjusting personalization tags as needed
  6. Add conditional logic for any branching you had in the original automation

Mapping ConvertKit automation concepts to Broadcast:

ConvertKit Concept Broadcast Equivalent
Sequence (linear emails) Sequence with timed steps
Visual Automation Sequence with conditional logic
Event trigger (form signup) Opt-in form enrollment
Tag trigger API-based enrollment when tag is applied
Condition (has tag?) Conditional step logic
Action (add/remove tag) API integration or manual workflow

For complex visual automations with multiple branches, you may need to break a single ConvertKit automation into multiple Broadcast sequences, using API calls or tags to coordinate the flow between them.

Step 6: Update Forms and Landing Pages

Replace ConvertKit signup forms on your website with Broadcast opt-in forms.

Embedded forms

  1. In Broadcast, go to Opt-in Forms and create a new form
  2. Configure form fields and settings (confirmation email, tags, sequence enrollment)
  3. Copy the embed code
  4. Replace the ConvertKit form embed code on your website with the Broadcast embed code

Landing pages

ConvertKit landing pages hosted on ConvertKit’s domain cannot be migrated directly. You have a few options:

  • Recreate on your own website. Build the landing page on your site and embed a Broadcast opt-in form.
  • Use a landing page tool. Tools like Carrd, Leadpages, or Unbounce can host landing pages with embedded Broadcast forms.
  • Use the Broadcast API. Build a custom form on your website that POSTs to Broadcast’s subscriber API.

ConvertKit Creator Profile

If you used ConvertKit’s creator profile page, you’ll need an alternative. Your own website with an about page and embedded opt-in form is the most common replacement.

Step 7: Migrate API Integrations

If you built integrations against ConvertKit’s API, update them to use Broadcast’s REST API.

  • Subscriber creation. Update API calls from ConvertKit’s POST /subscribers to Broadcast’s subscriber endpoint. See the Subscribers API documentation.
  • Tag management. ConvertKit’s tagging API maps closely to Broadcast’s tag functionality.
  • Webhook URLs. Update any webhook receivers to expect Broadcast’s webhook payload format. See the Webhooks documentation.
  • API tokens. Generate new API tokens in Broadcast under Settings > API Tokens and update them in your integrations.

If you used ConvertKit’s Zapier integration, update your Zaps to point to Broadcast’s API endpoints using Zapier’s webhook actions.

Step 8: Test Everything

Before completing the migration, verify each component:

  1. Send a test broadcast. Create a broadcast, send it to your own address, and verify delivery, formatting, and tracking links.
  2. Verify subscriber counts. Compare your Broadcast subscriber count to your ConvertKit active subscriber count. Small differences from deduplication or invalid email filtering are normal.
  3. Test a sequence. Enroll a test email address in one of your rebuilt sequences. Confirm that each step sends on schedule with the correct content.
  4. Submit a test form. Fill out each replaced opt-in form and verify that subscribers appear in Broadcast with the correct tags and sequence enrollments.
  5. Test unsubscribe. Click the unsubscribe link in a test email and confirm it works correctly.
  6. Verify API integrations. Trigger each integration and confirm data flows correctly between your application and Broadcast.

What Doesn’t Transfer

Some ConvertKit features have no equivalent in Broadcast:

  • Paid newsletter subscriptions. ConvertKit’s paid newsletter feature is specific to their platform. You’ll need a separate tool (like Stripe, Memberful, or your own billing system) for paid content.
  • Digital product delivery. ConvertKit Commerce and digital product sales require a separate e-commerce solution.
  • Tip jar / supporter payments. Use a tool like Buy Me a Coffee, Ko-fi, or direct Stripe integration.
  • Creator profile page. Replace with your own website or a link-in-bio tool.
  • Historical email analytics. Open rates, click rates, and engagement data from past ConvertKit campaigns cannot be imported.
  • Referral program. ConvertKit’s subscriber referral feature is platform-specific.

Post-Migration Checklist

  • All active subscribers imported into Broadcast
  • Suppression list populated with ConvertKit unsubscribes
  • Import tagged with convertkit-import for identification
  • Email templates recreated with updated personalization tags
  • Sequences rebuilt with correct delays and content
  • Opt-in forms replaced on all website pages
  • Landing pages recreated or redirected
  • API integrations updated with Broadcast endpoints and tokens
  • Webhook endpoints configured
  • DNS records updated if changing ESPs (SPF, DKIM, DMARC)
  • Test broadcast sent and verified
  • Test sequence enrollment verified
  • Unsubscribe flow tested
  • ConvertKit account downgraded or canceled (only after confirming everything works in Broadcast)