ARTICLE CONTENT:
Complete Guide: Migrating from AccessAlly Managed to Kit (ConvertKit)
⏱️ Estimated Time: 5-7 hours (plus testing)
🛠️ Technical Level: Intermediate
💰 Cost Impact: $0 CRM cost → $9-79/mo (most affordable external CRM option)
📈 Migration Type: UPGRADE – From no CRM to creator-focused email platform
Why Migrate from AccessAlly Managed to Kit?
Common reasons for migrating from AccessAlly Managed to Kit (ConvertKit):
- Email Deliverability Improvement: Kit’s dedicated email infrastructure delivers better inbox placement than WordPress SMTP
- Creator-Focused Features: Built specifically for course creators, bloggers, and online educators (your exact use case)
- Simplified Email Management: Visual sequence builder, broadcast scheduling, and subscriber management
- Cost-Effective CRM Upgrade: Most affordable external CRM option ($9-79/mo depending on list size)
- Better Email Analytics: Open rates, click tracking, revenue attribution
- Eliminate SMTP Costs: No more paying for separate SMTP service (Postmark, SendGrid, etc.)
- Professional Email Infrastructure: Dedicated IPs, ISP relationships, deliverability monitoring
What You’ll Need Before Starting
✅ Required Access & Accounts
- WordPress admin access to your AccessAlly site
- Kit account (sign up at convertkit.com – start with free tier for testing)
- AccessAlly license that supports CRM switching
- Access to your payment gateway (Stripe or PayPal)
- Current WordPress user export (your contact database)
📋 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 WordPress users (your contact database)
- Audit of your current AccessAlly tags and custom fields
- Data mapping spreadsheet (plan how WordPress user meta becomes Kit tags)
- Staging site setup for testing (CRITICAL for CRM switches)
- Request 2-site exception from AccessAlly support
- Member communication plan
AccessAlly licenses are typically limited to one live site. You MUST request a temporary 2-site exception from AccessAlly support before setting up Kit on your staging site. This lets you test the migration without breaking your live site.
Phase 1: Pre-Migration Setup (2-3 hours)
Step 1: Set Up Your Kit Account
- Sign up for Kit at convertkit.com (free tier available up to 1,000 subscribers)
- Complete basic account setup:
- Your name and business information
- Default sender email address
- Timezone settings
- Configure email deliverability:
- Add and verify your domain
- Set up DKIM authentication (Kit provides instructions)
- Add SPF record to your domain DNS
- Send yourself a test broadcast to verify email delivery
- Familiarize yourself with Kit’s interface (Forms, Sequences, Broadcasts, Subscribers)
Step 2: Understand Kit’s Data Structure
Kit is simpler than full-featured CRMs. Here’s what Kit supports:
| Kit Feature | What It Does | Limitations |
|---|---|---|
| Subscriber email address | Required field | |
| First Name | Native field for personalization | Only native custom field |
| Tags | Categorize and segment subscribers (UNLIMITED) | Flat structure (no categories) |
| Custom Fields | Store additional data | ⚠️ LIMITED – requires paid plan, not unlimited |
| Sequences | Automated email series | Simpler than full automation platforms |
| Forms | Sign-up forms and landing pages | Visual form builder included |
Kit only natively supports first name. Additional custom fields are available on paid plans but limited in number. Most WordPress user meta will need to become TAGS in Kit, not custom fields. Plan your data mapping accordingly.
Step 3: Export Your WordPress Users
AccessAlly Managed stores contacts as WordPress users. Export them:
- Go to WordPress → Users → Export
- OR use a plugin like “Export Users to CSV”
- Include all user meta fields (AccessAlly data stored here)
- Open the CSV to review what data you have
What’s included in WordPress user export:
- Email addresses
- First and last names
- WordPress user meta (all AccessAlly custom fields)
- User roles
What’s NOT included:
- AccessAlly tags (stored separately – see next step)
- Email sending history
- Email wizard progress
Step 4: Export AccessAlly Tags
AccessAlly tags are stored separately from user data. Export them:
- Go to AccessAlly → Tags
- Document all tags you’re currently using
- For each user, note which tags they have (check user profiles)
- Create a mapping spreadsheet: Email → Tags
Alternative: Use the Migration Wizard to export contacts with tags included (recommended method).
Step 5: Map Your Data: WordPress → Kit
Create a data mapping spreadsheet. This is CRITICAL for Kit migrations because of limited custom field support.
Standard Field Mapping
| WordPress Field | Kit Field | Notes |
|---|---|---|
| user_email | Required field (direct mapping) | |
| first_name | first_name | Native Kit field (direct mapping) |
| last_name | ⚠️ BECOMES TAG | Kit doesn’t have last name field – store as tag if needed for segmentation |
| AccessAlly tags | Kit tags | Direct mapping (both flat tag structures) |
WordPress User Meta → Kit Strategy
You have three options for WordPress user meta fields:
| WordPress User Meta | Kit Option 1: Tags | Kit Option 2: Custom Fields | Recommendation |
|---|---|---|---|
| member_level (Gold, Silver, Bronze) | Tags: “Gold Member”, “Silver Member”, “Bronze Member” | Custom field: “member_level” | Use Tags (needed for access control anyway) |
| join_date (date field) | Tags: “Joined-2024”, “Joined-2025” | Custom field: “join_date” | Custom field if needed for segmentation |
| phone_number | N/A (can’t be tag) | Custom field: “phone” | Custom field (or don’t migrate if not used) |
| course_progress (0-100%) | Tags: “Course-Complete”, “Course-InProgress” | Custom field: “course_progress” | Use Tags (simplified buckets) |
| purchase_history (text/notes) | Tags: “Purchased-CourseA”, “Purchased-CourseB” | N/A (too complex) | Use Tags (one tag per product) |
- Use Tags for: Membership levels, product purchases, course completion status, any data needed for segmentation
- Use Custom Fields for: Unique identifiers (phone, date fields) that can’t be tags
- Don’t Migrate: Data you don’t actively use for segmentation or personalization
Step 6: Recreate Your Tags in Kit
- Make a list of all AccessAlly tags you’re using
- Add additional tags for WordPress user meta (see mapping above)
- Go to Kit → Subscribers → Tags
- Create each tag
- Use consistent naming (case-sensitive!)
Tag naming best practices for Kit:
- Keep names concise but descriptive
- Use title case or lowercase consistently
- Avoid special characters
- Use hyphens instead of spaces (optional, but cleaner)
Example tag structure:
- Membership levels: “Gold-Member”, “Silver-Member”, “Bronze-Member”
- Purchase tags: “Purchased-Course-A”, “Purchased-Course-B”
- Status tags: “Active-Member”, “Trial-Member”, “Cancelled-Member”
- Course progress: “Course-Complete”, “Course-InProgress”, “Course-NotStarted”
Step 7: Prepare Your CSV for Import
The AccessAlly Migration Wizard expects a specific format. Transform your WordPress user export.
Required columns for Kit import via Migration Wizard:
Email– Email address (required)First Name– First nameTags– Comma-separated list of Kit tag names- Custom field columns (use Kit field names if you created them)
CSV transformation steps:
- Open your WordPress user export in Excel or Google Sheets
- Rename columns:
- user_email → Email
- first_name → First Name
- Create Tags column: Combine AccessAlly tags + converted user meta into one comma-separated list
- Example: If user has AccessAlly tag “Gold Member” and user_meta “member_level: gold”, create Tags column: “Gold-Member”
- Remove unnecessary columns (last name, user roles, etc. unless needed)
- Save as new CSV: “wordpress-to-kit-import.csv”
Step 8: Connect Kit to AccessAlly (Staging Site First)
- On your STAGING site, go to AccessAlly → Settings → General
- Under “CRM Integration,” change from “Managed Contacts” to “Kit (ConvertKit)”
- Enter your Kit API credentials:
- API Key (found in Kit → Settings → Advanced → API)
- API Secret (same location)
- Click Save and Test Connection
- Verify the connection is successful
Phase 2: Migration Execution (2-3 hours)
Step 9: Import Contacts via Migration Wizard
- On your STAGING site, go to AccessAlly → Migration Wizard
- If you don’t see Migration Wizard, download and activate the plugin:
- Go to AccessAlly → Utilities
- Download Migration Wizard plugin ZIP
- Upload and activate via WordPress → Plugins
- Click “Import from CSV”
- Upload your prepared CSV file
- Map CSV columns to Kit fields:
- Email → email
- First Name → first_name
- Tags → Kit tags
- Choose import options:
- Create users in WordPress: Check (if they don’t exist)
- Create contacts in CRM: Check (creates Kit subscribers)
- Add tags: Check (applies tags from CSV)
- Send welcome email: UNCHECK (email members separately later)
- Click “Start Import”
What happens during import:
- WordPress user accounts verified/created
- Subscribers created in Kit
- Tags applied in Kit
- Kit subscriber ID stored in WordPress user meta (CRITICAL for access control)
Step 10: Verify Contact ID Linking (CRITICAL)
The most important step for CRM switches: verify Kit subscriber IDs are properly linked to WordPress users.
- Pick 3-5 random WordPress users
- Go to their user profile in WordPress
- Check for user meta field: “kit_subscriber_id” or “convertkit_subscriber_id”
- Copy that subscriber ID
- Go to Kit and search for that subscriber ID
- Verify it’s the correct person (check email, name, tags)
Step 11: Update AccessAlly Tags and Access Rules
AccessAlly stores tag names from your old system (Managed Contacts). After switching to Kit, verify these still match.
- Go through each AccessAlly Module
- Check “Who Can Access” settings
- Verify tag names match Kit tags EXACTLY (case-sensitive)
- Update any tag names if they changed during mapping
- Check protected pages for tag-based access
- Update membership level tag associations
Critical areas to check:
- Module access rules
- Page protection settings
- Order form tag assignments
- Email wizard tag triggers (may need to be rebuilt – see next step)
Step 12: Migrate Email Automations
This is where the upgrade happens: AccessAlly Email Wizards become Kit Sequences.
Email Wizard → Kit Sequence mapping:
| AccessAlly Email Wizard | Kit Sequence | Notes |
|---|---|---|
| Tag-triggered email series | Sequence with tag trigger | Direct equivalent |
| Time-delayed emails | Sequence with wait steps | Visual builder is easier |
| Welcome sequence | Sequence triggered by form subscription | Kit has better form integration |
| Module completion emails | Sequence triggered by tag (when AccessAlly adds “Module-Complete” tag) | Requires tag coordination |
Steps to rebuild email sequences:
- Document your current Email Wizards (what triggers them, what emails they send, timing)
- In Kit, go to Automate → Sequences
- Create a new sequence for each Email Wizard
- Set up trigger (usually a tag)
- Add emails to the sequence
- Set delays between emails
- Publish the sequence
- Test by adding the trigger tag to a test subscriber
Step 13: Update or Recreate Forms
You have two options for forms:
Option 1: Use Kit Forms (Recommended for Landing Pages)
- Create forms in Kit → Grow → Landing Pages & Forms
- Use Kit’s visual form builder
- Embed on your WordPress pages
- Pro: Better email opt-in features, built-in landing pages
- Con: Less integration with WordPress styling
Option 2: Use AccessAlly Forms (Recommended for Member Areas)
- Keep AccessAlly opt-in forms
- Update to submit to Kit instead of Managed Contacts
- Pro: Better integration with AccessAlly features
- Con: More setup work
Best practice: Use Kit forms for public-facing opt-ins, AccessAlly forms for member area actions.
Step 14: Link Payment Gateway Subscriptions
If you have paid members with active Stripe or PayPal subscriptions:
- Export active subscriptions from your payment gateway
- Match subscription IDs to member email addresses
- Verify subscription IDs are stored correctly in WordPress user meta
- Test that failed payments will cancel member access
Detailed guide: Preserving Subscriptions During Migration
Phase 3: Go-Live and Verification (1-2 hours)
Step 15: Test Everything on Staging
Complete these tests before touching your live site:
✅ Contact Data Integrity
- Verify total subscriber count in Kit matches WordPress users
- Check 10 random subscribers for complete data (email, first name, tags)
- Verify no duplicate subscribers in Kit
✅ Contact ID Linking (Most Critical)
- Test 5 random members – verify their Kit subscriber ID is stored in WordPress
- Add a test tag in Kit and verify it grants access in AccessAlly
- Remove the tag in Kit and verify access is revoked
✅ Access & Permissions
- Test login as a member (incognito window)
- Verify access to protected content for each membership level
- Check that tag-based access rules work correctly
- Test content unlocking based on tags
✅ Forms & Automations
- Test opt-in form submission (both Kit and AccessAlly forms)
- Verify form data creates subscriber in Kit with correct tags
- Test order form purchase (Stripe test mode)
- Confirm post-purchase tags are applied in Kit
- Test email sequences trigger correctly
✅ Email Deliverability
- Send test emails from Kit to Gmail, Outlook, Yahoo
- Check inbox placement (not spam)
- Verify unsubscribe links work
- Test email personalization (first name merge tags)
✅ Subscriptions & Payments
- Verify active subscriptions linked correctly
- Test new purchase flow end-to-end
- Test subscription cancellation
- 🚨 CRITICAL: Test failed payment handling (use Stripe test mode)
Step 16: Switch Live Site to Kit
Only after staging tests pass completely:
- Schedule downtime (2-3 hour window recommended)
- Announce to members (optional – CRM switches usually don’t require member-facing downtime)
- Put site in maintenance mode (optional but recommended)
- Create fresh WordPress backup
- Switch AccessAlly to Kit (same steps as staging):
- AccessAlly → Settings → General
- Change CRM to Kit
- Enter Kit API credentials
- Test connection
- Import contacts (if you have new signups since staging test)
- Verify access rules and tags (spot check 3-5 members)
- Test login for different membership levels
- Take site out of maintenance mode
- Monitor closely for 1-2 hours
Step 17: Complete Post-Migration Checks
Work through the complete Post-Migration Verification Checklist.
Key verification points for AA Managed → Kit:
- ✅ All WordPress users are now Kit subscribers
- ✅ Kit subscriber IDs properly stored in WordPress
- ✅ Tags control access correctly
- ✅ Forms submit to Kit successfully
- ✅ Email sequences trigger as expected
- ✅ Subscription payments still linked correctly
- ✅ Failed payment handling works (test in Stripe test mode)
- ✅ Email deliverability is good (check spam rates)
Step 18: Monitor for 7 Days
Watch for issues during the first week:
- Day 1-2: Immediate access issues, login problems
- Day 3-5: Email deliverability and engagement rates
- Day 6-7: Subscription/payment issues
What to monitor:
- Member support tickets (any migration-related confusion?)
- Email bounce rates in Kit dashboard
- Login errors or access issues
- Payment failures or subscription problems
- Form submission success rates
- Kit email open rates (compare to previous system)
Step 19: Deactivate Migration Wizard Plugin
Once migration is stable:
- Go to WordPress → Plugins
- Find “AccessAlly Migration Wizard”
- Click Deactivate
- Click Delete
The Migration Wizard is only needed during migration. Remove it to reduce plugin footprint.
Troubleshooting Common Issues
Issue 1: Members Have Tags in Kit But Can’t Access Content
Symptoms: Members have correct tags in Kit but getting “insufficient permissions” errors in AccessAlly
Causes:
- Kit subscriber ID not stored in WordPress user meta (Contact ID linking failed)
- Tag names in AccessAlly don’t match Kit exactly (case-sensitive)
- AccessAlly still thinks it’s using Managed Contacts
Solution:
- Check the member’s user meta in WordPress for “kit_subscriber_id” or “convertkit_subscriber_id”
- If missing, re-import the user via Migration Wizard with “Update existing users” checked
- Verify tag names in AccessAlly match Kit EXACTLY (copy-paste from Kit)
- Verify AccessAlly is connected to Kit (Settings → General → CRM Integration)
- Test access after fixing
Issue 2: Too Many Tags (Hit Kit’s Tag Limit)
Symptoms: You converted too much WordPress user meta to tags and now have hundreds of tags in Kit
Causes:
- Over-converted user meta to tags
- Should have used custom fields or not migrated some data
Solution:
- Audit which tags are actually needed for segmentation
- Delete unused tags in Kit
- For essential data that doesn’t need to be a tag, move to custom fields
- Consolidate similar tags (e.g., “Joined-Jan-2024”, “Joined-Feb-2024” → “Joined-2024”)
Issue 3: Email Deliverability Issues (Emails Going to Spam)
Symptoms: Members report not receiving Kit emails, or emails land in spam
Causes:
- Domain not verified in Kit
- DKIM or SPF not configured
- Sending domain has poor reputation
- Need to warm up Kit sending reputation
Solution:
- Verify your domain in Kit (Settings → Sending)
- Check DKIM and SPF records are correct (Kit provides instructions)
- Test deliverability with Mail Tester (mail-tester.com)
- Warm up your sending domain (start with small batches, gradually increase)
- Check Kit’s email deliverability tips in their knowledge base
Issue 4: Custom Fields Didn’t Migrate
Symptoms: WordPress user meta data missing from Kit subscribers
Causes:
- Custom fields not created in Kit before import
- CSV column names don’t match Kit field names
- You’re on Kit’s free plan (no custom fields)
Solution:
- Upgrade to Kit paid plan (custom fields require paid plan)
- Create custom fields in Kit (Settings → Custom Fields)
- Note exact field names
- Update CSV with correct Kit field names as column headers
- Re-import with “Update existing subscribers” checked
Alternative: Convert that data to tags instead of custom fields (see data mapping section).
Issue 5: Members Can’t Log In
Symptoms: Members getting “Invalid username or password” errors
Causes:
- WordPress passwords unchanged (this shouldn’t happen – passwords stay in WordPress)
- Kit doesn’t manage WordPress passwords (that’s correct – AccessAlly handles login)
- Unrelated to Kit migration
Solution:
- Verify this is actually a migration issue (test with a known working password)
- Check if WordPress users were accidentally deleted during migration
- Have members use WordPress password reset
- This is likely unrelated to Kit – troubleshoot as normal WordPress login issue
Issue 6: Email Sequences Not Triggering
Symptoms: Kit sequences aren’t sending when members get tagged
Causes:
- Sequence trigger tag doesn’t match AccessAlly tag exactly
- Sequence not published
- Subscriber already went through the sequence (Kit prevents duplicates)
Solution:
- Go to Kit sequence settings
- Check trigger conditions (tag name must match EXACTLY)
- Verify sequence is published (not draft)
- Test with a fresh subscriber who hasn’t been through the sequence
- Check Kit’s automation logs for errors
Cost Analysis: AccessAlly Managed vs Kit
Understanding the cost change:
| List Size | AccessAlly Managed Cost | Kit Cost | Net Change |
|---|---|---|---|
| 0-1,000 | $0 (plus SMTP costs ~$10-30/mo) | $0 (free tier) | ✅ SAVE $10-30/mo (no SMTP needed) |
| 1,000-3,000 | $0 (plus SMTP costs ~$20-50/mo) | $29/mo (Creator plan) | ✅ SAVE or BREAK EVEN (better deliverability) |
| 3,000-5,000 | $0 (plus SMTP costs ~$50-100/mo) | $49/mo (Creator Pro) | ✅ SAVE $1-50/mo |
| 5,000-10,000 | $0 (plus SMTP costs ~$100-200/mo) | $79/mo | ✅ SAVE $21-121/mo |
| 10,000+ | $0 (plus SMTP costs ~$200-500/mo) | Custom pricing ($100-300/mo) | ✅ SAVE $100-400/mo |
Additional cost considerations:
- Better deliverability = more revenue: If Kit’s deliverability is even 5-10% better, that can offset the entire cost
- Time savings: Kit’s visual sequence builder and form creator save hours of setup time
- No SMTP management: Eliminate time spent troubleshooting WordPress SMTP issues
- Professional infrastructure: Dedicated IPs, ISP relationships, compliance support included
Migration Timeline & Downtime
Total Time Estimate: 5-7 hours (plus 1-2 hours testing)
| Phase | Tasks | Time |
|---|---|---|
| Pre-Migration Setup |
– Kit account setup – Data export from WordPress – Tag mapping (WordPress user meta → Kit tags) – CSV preparation – Staging site Kit connection |
2-3 hours |
| Migration Execution |
– Contact import via Migration Wizard – Contact ID verification – Email sequence rebuild in Kit – Form updates – Subscription linking |
2-3 hours |
| Go-Live & Verification |
– Staging testing – Live site CRM switch – Post-migration verification – Member access testing – Email deliverability testing |
1-2 hours |
Downtime Required: Minimal (30-60 minutes optional during live site switch)
Need Help?
Migration Support:
- Review the Migration Support Policy to understand what support is available
- For complex migrations or paid help: Contact AccessAlly support
Kit Resources:
- Kit Help Center – Official Kit documentation
- Kit API Documentation – For technical integration questions
- Kit deliverability guides – Email best practices
Related Guides:
- Pre-Migration Checklist
- Post-Migration Verification
- Data Mapping Reference
- How to Migrate CRMs and Keep The Same AccessAlly Site
- Preserving Subscriptions During Migration
- Drip → AccessAlly Managed (opposite migration for reference)
- ✅ All WordPress users are Kit subscribers
- ✅ Kit subscriber IDs properly stored in WordPress
- ✅ Tags and converted user meta migrated
- ✅ Member login working
- ✅ Content access rules working correctly
- ✅ Tag-based access tested and verified
- ✅ Email sequences rebuilt and tested in Kit
- ✅ Forms submitting to Kit successfully
- ✅ Subscriptions linked and tested
- ✅ Failed payment handling verified
- ✅ Email deliverability improved (test with Mail Tester)
- ✅ No SMTP configuration needed (Kit handles it)
- ✅ No critical support tickets after 7 days