ARTICLE CONTENT:
Complete Guide: Migrating from Keap to Kit (ConvertKit) – Same AccessAlly Site
⏱️ Estimated Time: 10-14 hours (plus extensive testing)
🛠️ Technical Level: Advanced
💰 Cost Impact: Significant savings ($79-159/month Keap → $9-79/month Kit)
⚠️ CRITICAL BLOCKERS: Keap tag category prepending + Major CRM feature loss + Custom field conversion required
Why This Migration Is High-Risk
Migrating from Keap to Kit involves TWO major challenges:
Keap organizes tags into categories. Kit does not have tag categories. When migrating:
Keap: Category “Membership” → Tag “Gold Member”
Becomes in Kit: Tag “Membership: Gold Member”
This means:
- EVERY tag name changes during migration
- ALL AccessAlly access rules break (looking for old tag names)
- You must manually update every tag reference in AccessAlly
- Members lose access if tag names don’t match exactly
Keap is a full business CRM. Kit is a simple email tool for creators.
You will LOSE these Keap features:
- ❌ CRM features (deals, pipelines, sales tracking)
- ❌ Appointment scheduling
- ❌ Advanced contact management
- ❌ Complex campaign builder
- ❌ Most custom fields (Kit has very limited support)
- ❌ Business reporting and analytics
- ❌ Phone and SMS features
- ❌ E-commerce features
What Kit offers: Basic email sequences, simple tagging, landing pages, and newsletter tools. That’s it.
Support ticket evidence: Multiple customers reported tag category prepending as a “major blocker.” Keap migrations also commonly report the migration tool stalling mid-process.
Recommendation: Only proceed with this migration if:
- You’re NOT using Keap’s CRM, appointment, or advanced features
- You primarily use Keap for email newsletters and simple sequences
- Cost savings justify the extensive manual work required
- You can afford 10-14 hours of migration work
- You have budget for professional help if needed
Why Migrate from Keap to Kit?
Despite the massive complexity, common reasons for migrating:
- Significant Cost Savings: Kit is 80-90% cheaper than Keap
- Keap Overkill: You’re not using Keap’s advanced CRM features
- Simpler Interface: Kit is much easier to learn than Keap
- Creator Focus: Kit designed for online course creators, coaches, bloggers
- Better for Simple Needs: If you only send newsletters and basic sequences, Kit is sufficient
What You’ll Need Before Starting
✅ Required Access & Accounts
- WordPress admin access to your AccessAlly site
- Keap admin access (for data export)
- Kit (ConvertKit) account (must be set up first)
- AccessAlly license that supports CRM switching
- Access to your payment gateway (Stripe or PayPal)
- LOTS of time – This is a complex, tedious migration
- Patience – You’ll be manually converting many custom fields to tags
📋 Complete the Pre-Migration Checklist
Before proceeding, work through the complete Pre-Migration Checklist. Key items include:
- Full backup of WordPress site and database
- Export of all Keap contact data
- CRITICAL: Complete audit of ALL tags with their categories
- CRITICAL: Audit of ALL custom fields (most must convert to tags)
- Map every Keap category+tag to new Kit tag name
- Document every location where tags and custom fields are referenced in AccessAlly
- Staging site setup (MANDATORY for this migration)
- Request 2-site exception from AccessAlly support
- Downtime plan (expect 6-8 hour window)
- Plan alternative tools if you’re using Keap CRM features
Before importing anything, you MUST create a spreadsheet mapping:
- Every Keap tag to its new Kit name (with category prefix)
- Every Keap custom field to either a Kit custom field OR a tag
- Every place in AccessAlly where tags/fields are referenced
This document will be your lifeline during the migration.
Phase 1: Pre-Migration Setup (5-7 hours)
Step 1: Set Up Your Kit (ConvertKit) Account
- Sign up for Kit at convertkit.com (choose appropriate tier for your contact count)
- Complete basic account setup
- Configure email deliverability (SPF, DKIM)
- Test email sending
- Create a test sequence and form
- Familiarize yourself with Kit’s interface (MUCH simpler than Keap)
Step 2: Export Your Data from Keap
- Log into your Keap account
- Go to Contacts → Export Contacts
- Select “All Contacts”
- Include all fields, tags, and custom fields
- Download CSV export
- ALSO export tag list separately to see category structure
- ALSO export custom fields list with their types and values
To see tag categories in Keap:
- Go to CRM → Tags
- Note the category name for EVERY tag you use
- Document this in your tag mapping spreadsheet
To see custom fields in Keap:
- Go to CRM → Settings → Custom Fields
- Export the list of custom fields
- Note field names (with underscore prefix), types, and current usage
Step 3: Understand Kit’s Severe Custom Field Limitations
Unlike Keap’s robust typed custom fields (text, number, date, dropdown, etc.), Kit only supports simple text-based custom fields. Most of your Keap custom fields will need to convert to TAGS instead.
Examples of Keap fields that MUST become Kit tags:
- Membership levels → Tags (e.g., “Gold Member”, “Silver Member”)
- Purchase history → Tags (e.g., “Purchased Course A”)
- Status fields → Tags (e.g., “Active”, “Paused”, “Cancelled”)
- Boolean fields → Tags (e.g., “Email Verified”, “Onboarding Complete”)
- Dropdown selections → Tags (e.g., “Industry: Real Estate”)
Only keep as Kit custom fields: Simple text data like “Company Name”, “Website URL”, “Referral Source” (free-text).
Step 4: Create Your Tag Mapping Document (MOST CRITICAL STEP)
This is the most important step of the entire migration. Create a spreadsheet with these columns:
| Keap Category | Keap Tag | Kit Tag (Auto-Generated) | Kit Tag (Your Choice) | Used In AccessAlly? |
|---|---|---|---|---|
| Membership | Gold Member | Membership: Gold Member | Gold Member | YES – Module access |
| Membership | Silver Member | Membership: Silver Member | Silver Member | YES – Module access |
| Lead Status | Hot Lead | Lead Status: Hot Lead | Hot Lead | NO – Internal only |
Column explanations:
- Keap Category: The category folder in Keap
- Keap Tag: The tag name as it appears in Keap
- Kit Tag (Auto-Generated): What the tag will become after migration (Category: Tag)
- Kit Tag (Your Choice): What you WANT the tag to be called in Kit
- Used In AccessAlly?: Is this tag referenced in any AccessAlly access rules, modules, or automations?
- Option A: Keep the prepended name (“Membership: Gold Member”) and update ALL AccessAlly references to match
- Option B: Manually rename tags in Kit to remove prefixes, then update contacts + AccessAlly
Both options require extensive manual work. Option A is slightly easier.
Step 5: Create Your Custom Field → Tag Conversion Document
Since Kit has very limited custom field support, most Keap custom fields must convert to tags.
| Keap Custom Field | Field Type | Kit Destination | Conversion Strategy |
|---|---|---|---|
| _MembershipLevel | Dropdown | Tags | Create tag for each value (Gold, Silver, Bronze) |
| _PurchaseHistory | Text | Tags | Parse text, create tag for each product purchased |
| _AccountStatus | Dropdown | Tags | Create tag for each status (Active, Paused, Cancelled) |
| _CompanyName | Text | Custom Field | Keep as Kit custom field (free-text) |
| _EmailVerified | Boolean | Tag | Create “Email Verified” tag (only apply if true) |
- Date fields → No equivalent in Kit (could store as text, but loses date functionality)
- Number fields → No equivalent (store as text or convert to tags like “Revenue: $1000+”)
- Multi-select fields → Must flatten to multiple tags
Document what data you’re willing to lose or simplify.
Step 6: Audit ALL AccessAlly Tag and Custom Field References
Before migrating, document everywhere tags and custom fields are used in AccessAlly:
- Go through every AccessAlly module and note which tags control access
- Check every protected page for tag-based access rules
- Review all order forms for tag assignments
- Check email wizards for tag triggers and custom field usage
- Review automation triggers for tag-based and field-based rules
- Document membership level tag associations
- Check shortcodes that display custom field values
Add this information to your mapping spreadsheet so you know which changes will break access.
Step 7: Recreate Tags in Kit
You have two options:
Option A: Let Migration Keep Prepended Names (Easier)
- Let the migration import tags as “Category: Tag Name”
- After import, update ALL AccessAlly references to use new tag names
- This is tedious but straightforward
Option B: Clean Up Tag Names (More Work, Cleaner Result)
- Create tags in Kit with desired names (no category prefix)
- After migration, bulk-rename tags in Kit to remove prefixes
- Update contact tags to match new names
- Update AccessAlly to use new names
- More work but cleaner long-term
Step 8: Create Limited Custom Fields in Kit
- For each Keap custom field that remains a custom field in Kit (not converting to tag)
- Go to Kit → Settings → Custom Fields
- Create each custom field (Kit only supports text fields)
- Use clear naming (Kit doesn’t use underscores like Keap)
Recommended Kit custom fields to create:
- Company Name
- Website URL
- Referral Source
- Notes
Everything else should become tags.
Step 9: Map Keap Data to Kit
Use the Data Mapping Reference Guide for complete field mappings.
| Keap Field | Kit Field | Notes |
|---|---|---|
| Required | ||
| First Name | first_name | Standard field |
| Last Name | last_name (not a default field) | Must create as custom field |
| Custom Fields (_FieldName) | Custom fields OR tags | Most must convert to tags |
| Tags (with categories) | Tags (flat structure with prepended category) | Category becomes prefix |
| Lead Score | No equivalent | Kit doesn’t have lead scoring |
| Deals/Pipeline | No equivalent | Kit is not a CRM |
| Appointments | No equivalent | Use separate scheduling tool |
Step 10: Connect Kit to AccessAlly (Staging First)
- On your STAGING site, go to AccessAlly → Settings → General
- Change CRM from Keap to Kit (ConvertKit)
- Enter Kit API credentials (found in Kit → Settings → Advanced → API)
- Click Save and Test Connection
- Verify connection successful
Phase 2: Migration Execution (4-5 hours)
Step 11: Transform Your CSV for Kit Import
The Keap export needs significant transformation for Kit import:
- Open your Keap export in Excel or Google Sheets
- Rename columns:
- Email → email
- First Name → first_name
- Last Name → last_name (or create custom field in Kit)
- For tags: Ensure they’re comma-separated in one column with category prefixes applied
- For custom fields converting to tags:
- Parse each custom field value
- Add corresponding tags to the tags column
- Example: If _MembershipLevel = “Gold”, add “Gold Member” tag
- For custom fields staying as fields: Rename column to match Kit custom field name
- Remove any Keap-specific columns that have no Kit equivalent
- Save as new CSV: “keap-to-kit-import.csv”
Step 12: Import Contacts via Migration Wizard
- On staging site, go to AccessAlly → Migration Wizard
- Upload your prepared CSV
- Map fields to Kit
- Enable “Create contacts in CRM”
- Enable “Apply tags”
- Start import
What happens:
- Contacts created in Kit
- Tags applied with category prefixes (e.g., “Membership: Gold Member”)
- Custom fields populated (limited set)
- Contact IDs linked in WordPress
Step 13: Fix Tag Names in Kit (Option B Only)
If you chose Option B (clean tag names), now bulk-rename tags:
- Go to Kit → Subscribers → Tags
- For each tag, remove the category prefix
- Update contacts to have new tag names
- Kit doesn’t have bulk tag replacement – this is VERY manual
This is tedious and high-risk. Test thoroughly on a small batch first.
Step 14: Update ALL AccessAlly Tag References
This is the most time-consuming step. Using your tag mapping document:
- Go to each AccessAlly module with tag-based access
- Update tag names to match new Kit tags (with or without prefixes)
- Update protected page access rules
- Update order form tag assignments
- Update email wizard tag triggers
- Update automation trigger rules
- Update membership level tag associations
- Update shortcodes that reference custom fields (now tags)
Step 15: Link Payment Gateway Subscriptions
Follow the same process as other CRM migrations:
- Export active subscriptions from Stripe/PayPal
- Match to member emails
- Verify subscription IDs stored correctly in AccessAlly
- Test failed payment handling
Detailed subscription migration guide
Step 16: Rebuild Automations in Kit
Keap campaigns must be rebuilt as Kit sequences (MUCH simpler):
| Keap | Kit | Notes |
|---|---|---|
| Campaign | Sequence (Visual) | Kit sequences are simpler |
| Tag applied trigger | Automation rule | Update tag names! |
| Sequence | Sequence with delays | Day-based delays |
| Decision diamond | Limited conditional logic | Kit is simpler |
| Goal | No direct equivalent | Use tag-based logic |
| Complex campaigns | May not be possible | Kit is basic |
Step 17: Update Forms
Replace Keap forms with Kit or AccessAlly forms:
- Use Kit native forms (simple landing page forms), OR
- Use AccessAlly forms that submit to Kit (recommended for membership sites)
- Update all form tag assignments to use new tag names
- Update form custom field mappings
Phase 3: Testing and Go-Live (5-7 hours)
Step 18: Extensive Staging Testing
Because of the tag prepending issue AND custom field conversion, testing is CRITICAL:
- ✅ Test login for members with different membership levels
- ✅ Verify EACH membership level can access correct content
- ✅ Check EVERY module access rule works
- ✅ Test EVERY protected page
- ✅ Verify forms submit and apply correct tags
- ✅ Test purchase flow end-to-end
- ✅ Verify automation triggers fire correctly (sequences)
- ✅ Test subscription linking and failed payment handling
- ✅ Verify custom-field-based access rules now work with tags
Step 19: Switch Live Site to Kit
Only after staging tests pass completely:
- Schedule 6-8 hour downtime window (longer than typical migrations)
- Put site in maintenance mode
- Create fresh backup
- Export final Keap data (catch any new contacts since staging)
- Switch AccessAlly to Kit (same steps as staging)
- Import any new contacts
- Update ALL tag references (again, on live site)
- Test access for multiple membership levels
- Take site out of maintenance mode
- Monitor intensely for first 4-6 hours
Step 20: Complete Post-Migration Verification
Work through the Post-Migration Verification Checklist.
Pay special attention to:
- Contact ID linking verification
- Tag-based access rules (every single one)
- Custom-field-to-tag conversions working
- Member support tickets (watch for access complaints)
- Subscription continuity
Step 21: Monitor for 14 Days (Not 7)
Due to the complexity and risk of this migration, monitor for TWO weeks instead of one:
- Days 1-3: Immediate access issues and login problems
- Days 4-7: Tag-related access issues as members try to access content
- Days 8-14: Subscription/payment issues, automation issues, custom field conversion issues
Keep Keap active for 30 days as a safety net.
Troubleshooting Common Issues
Issue 1: Members Have Tags But Can’t Access Content (MOST COMMON)
Symptoms: Members have correct tags in Kit but getting “insufficient permissions” errors
Causes:
- AccessAlly access rules reference old Keap tag names
- Tag names in Kit have category prefixes, but AccessAlly rules don’t
- Case sensitivity mismatch
- Contact ID linking issue
Solution:
- Check the member’s tags in Kit (note exact spelling with prefixes)
- Go to the module or page they can’t access
- Check “Who Can Access” settings
- Update tag name to EXACTLY match Kit (including category prefix)
- Test access again
Issue 2: Access Rules That Used Custom Fields Now Broken
Symptoms: Content that was gated by Keap custom field values is now inaccessible
Causes:
- Custom field converted to tag, but AccessAlly rule still references custom field
- AccessAlly conditional logic using custom field no longer works
Solution:
- Identify which custom fields controlled access
- Update AccessAlly rules to check for tags instead of custom fields
- Example: “If _MembershipLevel = Gold” → “If has tag ‘Gold Member'”
- Test each updated rule
Issue 3: Migration Tool Stalled Mid-Import
Symptoms: Import progress stuck at X% for 30+ minutes
Causes:
- Known issue with Keap migrations
- Large contact lists overwhelm the system
- API rate limits reached
Solution:
- Cancel the import
- Export a list of contacts that were already imported
- Remove imported contacts from your CSV
- Import remaining contacts in smaller batches (500-1000 at a time)
Issue 4: Custom Field Data Lost or Incomplete
Symptoms: Members missing data that was in Keap custom fields
Causes:
- Custom field didn’t convert to tag properly
- CSV transformation missed some custom field values
- Kit custom field not created before import
Solution:
- Check your custom field → tag mapping document
- Verify CSV had correct tag assignments for custom field values
- Re-import affected contacts with “Update existing users” checked
- For critical data loss, manually update contacts in Kit
Issue 5: Hundreds of Tags Need Renaming
Symptoms: You have 100+ tags and manually updating AccessAlly references will take days
Solutions:
Option 1: Accept the category prefixes and update AccessAlly systematically
Option 2: Use database search/replace (DANGEROUS – backup first):
- Create SQL query to find/replace tag names in AccessAlly settings
- Test on staging first
- Work with a developer if not comfortable with database
Option 3: Contact AccessAlly support for migration assistance
Issue 6: Need to Rollback to Keap
If critical issues occur:
- Change AccessAlly CRM connection back to Keap
- Re-enter Keap API credentials
- Verify connection
- Test member access (should restore immediately with original tag names and custom fields)
- Contact AccessAlly support for migration help
- More than 50% of members reporting access issues
- Unable to resolve tag mapping issues within downtime window
- Critical subscription/payment issues
- Custom field → tag conversion causing widespread problems
- Migration tool completely failing
Feature Parity: What You’re Losing
This table shows Keap features that Kit CANNOT replicate:
| Keap Feature | Kit Equivalent | Workaround |
|---|---|---|
| CRM (Deals, Pipelines) | ❌ None | Use separate CRM (HubSpot, Pipedrive) |
| Appointment Scheduling | ❌ None | Use Calendly, Acuity |
| Typed Custom Fields | ⚠️ Text only | Convert to tags |
| Complex Campaign Builder | ⚠️ Simple Sequences | Simplify workflows |
| Lead Scoring | ❌ None | Use tags as proxy |
| Phone Integration | ❌ None | Separate phone system |
| SMS Marketing | ❌ None | Use Twilio, SimpleTexting |
| E-commerce Features | ⚠️ Basic only | Kit Commerce (limited) |
| Business Reporting | ❌ None | Basic email stats only |
Migration Timeline
Total Time Estimate: 10-14 hours (due to tag remapping + custom field conversion complexity)
| Phase | Time | Notes |
|---|---|---|
| Tag Mapping Document | 2-3 hours | Most critical step |
| Custom Field → Tag Conversion Planning | 2-3 hours | Unique to Kit migration |
| AccessAlly Tag & Field Audit | 1-2 hours | Document all references |
| Data Export & CSV Transformation | 2-3 hours | Complex field conversion |
| Staging Setup & Import | 2-3 hours | May stall, need retries |
| Update ALL Tag References | 3-5 hours | Most tedious step |
| Update Custom Field References | 2-3 hours | Convert to tag-based logic |
| Automation Rebuild | 2-4 hours | Kit sequences simpler than Keap |
| Extensive Testing | 4-6 hours | Test EVERY access rule |
| Live Site Switch | 6-8 hours | Longer downtime required |
Should You Hire Professional Help?
Consider professional migration assistance if:
- You have 50+ tags in Keap
- You have 10+ custom fields that need conversion to tags
- You have complex tag-based access rules across many modules
- You have 1,000+ active members
- You can’t afford 6-8 hours of downtime
- You’re not comfortable with extensive manual remapping
- Your business can’t tolerate access issues
- You’re losing critical Keap CRM features and need integration planning
Professional help can:
- Automate tag and custom field conversion via scripts
- Reduce downtime to 2-3 hours
- Minimize member-facing issues
- Provide rollback plan
- Handle troubleshooting in real-time
- Recommend alternative tools for lost Keap features
Contact AccessAlly support to discuss migration assistance.
Need Help?
Related Guides:
- Pre-Migration Checklist
- Post-Migration Verification
- Data Mapping Reference (includes Keap tag prepending details)
- Keap → ActiveCampaign Guide (same tag prepending issue)
- How to Migrate CRMs
- Choosing CRM vs Managed Contacts
- ✅ Complete tag mapping document created
- ✅ Complete custom field → tag conversion plan
- ✅ ALL AccessAlly tag references documented
- ✅ ALL custom field references documented
- ✅ Contacts imported to Kit
- ✅ Contact IDs properly linked
- ✅ ALL tag references updated in AccessAlly
- ✅ ALL custom field references converted to tag-based logic
- ✅ EVERY module access rule tested individually
- ✅ EVERY protected page tested
- ✅ Forms working with correct tag names
- ✅ Sequences rebuilt with updated tag names
- ✅ Subscriptions linked and tested
- ✅ Alternative tools in place for lost Keap features
- ✅ No member access complaints after 14 days