ARTICLE CONTENT:
Complete Guide: Migrating from ActiveCampaign to Ontraport (Same AccessAlly Site)
⏱️ Estimated Time: 6-8 hours (plus testing)
🛠️ Technical Level: Intermediate-Advanced
💰 Cost Impact: Ontraport typically costs more than ActiveCampaign ($79-$497/mo vs $29-$149/mo)
Why Migrate from ActiveCampaign to Ontraport?
Common reasons for migrating from ActiveCampaign to Ontraport:
- More Powerful CRM: Ontraport has stronger built-in CRM features (deals, pipelines, business reporting)
- Better Contact Management: Ontraport’s contact database more robust for complex businesses
- Advanced Automation: More sophisticated campaign builder and conditional logic
- Payment Gateway Integration: Ontraport has native payment processing (vs. ActiveCampaign requiring Stripe separately)
- Business Growth: Your business needs Ontraport’s enterprise features
What You’ll Need Before Starting
✅ Required Access & Accounts
- WordPress admin access to your AccessAlly site
- ActiveCampaign admin access (for data export)
- Ontraport account access (must be set up and configured)
- AccessAlly license that supports CRM switching
- Access to your payment gateway (Stripe or PayPal)
📋 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 ActiveCampaign contact data
- Audit of your current member count, tags, and custom fields
- Data mapping spreadsheet (contacts, tags, custom fields, automations)
- Staging site setup for testing (CRITICAL for CRM switches)
- Request 2-site exception from AccessAlly support
- Downtime plan and member communication
AccessAlly licenses are typically limited to one live site. You MUST request a temporary 2-site exception from AccessAlly support before setting up Ontraport on your staging site. This lets you test the migration without breaking your live site.
Phase 1: Pre-Migration Setup (3-4 hours)
Step 1: Set Up Your Ontraport Account
If you haven’t already set up Ontraport:
- Sign up for Ontraport (choose appropriate tier for your contact count)
- Complete basic account setup (company info, timezone, sender email)
- Configure email deliverability (SPF, DKIM records)
- Test email sending (send yourself a test campaign)
- Create your first form and test it
Step 2: Export Your Data from ActiveCampaign
- Log into your ActiveCampaign account
- Go to Contacts → Export
- Select “All Contacts”
- Choose “All Fields” (don’t filter)
- Select “Include Tags”
- Click Export
- ActiveCampaign will email you a CSV file
- Download and open the CSV
What’s included in the ActiveCampaign export:
- Email addresses
- First and last names
- Phone numbers
- Custom fields
- Tags (in a single column, comma-separated)
- Subscription status
- Contact scores (if used)
What’s NOT included:
- Automation workflows (must be rebuilt in Ontraport)
- Deals and pipelines (must be recreated)
- Email campaign history
- Form designs
- Site tracking data
Step 3: Map Your ActiveCampaign Data to Ontraport
Create a data mapping spreadsheet. Use the Data Mapping Reference Guide for complete field mappings.
| ActiveCampaign Field | Ontraport Field | Notes |
|---|---|---|
| Required field | ||
| First Name | firstname | Standard field |
| Last Name | lastname | Standard field |
| Phone | office_phone or cell_phone | Choose appropriate field |
| Tags | Ontraport tags | Recreate in Ontraport first |
| Custom Fields | Ontraport custom fields (f1234) | Note Ontraport’s f-number IDs |
| Contact Score | lead_score | Optional – may not map directly |
Step 4: Recreate Your Tags in Ontraport
- Make a list of all tags from your ActiveCampaign export
- Go to Ontraport → Contacts → Tags
- Create each tag in Ontraport
- Use the exact same tag names for easier mapping
Important tag notes:
- Ontraport tags work similarly to ActiveCampaign (simple tag/untag)
- Tag names are case-sensitive in both systems
- Clean up unused tags during this process
Step 5: Create Custom Fields in Ontraport
- List all custom fields from ActiveCampaign
- Go to Ontraport → Contacts → Contact Information
- Click “Add Field” for each custom field
- Match field types (text, number, date, dropdown, etc.)
- CRITICAL: Note each field’s ID (e.g., “f1234”) for CSV mapping
ActiveCampaign → Ontraport field type mapping:
- Text → Text
- Textarea → Large Text
- Number → Numeric
- Date → Date
- Dropdown → Drop Down or List Box
- Checkbox → Check Box
Step 6: Connect Ontraport to AccessAlly (Staging Site First)
- On your STAGING site, go to AccessAlly → Settings → General
- Under “CRM Integration,” change from ActiveCampaign to Ontraport
- Enter your Ontraport API credentials:
- App ID (found in Ontraport → Administration → Integrations → API Instructions)
- API Key (found in same location)
- Click Save and Test Connection
- Verify the connection is successful
Step 7: Prepare Your CSV for Migration Wizard
The AccessAlly Migration Wizard expects a specific format. Transform your ActiveCampaign export.
Required columns for AccessAlly + Ontraport import:
Email– Email address (required)First Name– First nameLast Name– Last nameTags– Comma-separated list of Ontraport tag namesf1234– Custom field columns (use Ontraport field IDs)
CSV transformation steps:
- Open your ActiveCampaign export in Excel or Google Sheets
- Rename columns to match Ontraport format
- For custom fields, rename columns to Ontraport field IDs (e.g., “Member Level” → “f1234”)
- Ensure tags are comma-separated in one column
- Remove unsubscribed contacts (or handle separately)
- Save as new CSV: “activecampaign-to-ontraport-import.csv”
Phase 2: Migration Execution (2-3 hours)
Step 8: 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 (instructions)
- Click “Import from CSV”
- Upload your prepared CSV file
- Map CSV columns to Ontraport fields
- Choose import options:
- Update existing users: Check if members may already exist in WordPress
- Create users in CRM: Check (this creates contacts in Ontraport)
- Add tags: Check (applies tags from CSV)
- Click “Start Import”
What happens during import:
- WordPress user accounts created (if they don’t exist)
- Contacts created in Ontraport
- Tags applied in Ontraport
- Contact ID from Ontraport stored in WordPress user meta
- This Contact ID linking is CRITICAL for access control
Step 9: Update AccessAlly Tags and Access Rules
AccessAlly stores tag names from your old CRM. After switching to Ontraport, you need to update these.
- Go through each AccessAlly Module or protected page
- Check “Who Can Access” settings
- Verify tag names still match Ontraport tags
- Update any tag-based access rules
- Update membership levels to link to correct Ontraport tags
Critical areas to check:
- Module access rules
- Page protection settings
- Order form tag assignments
- Email wizard tag triggers
- Automation trigger rules
Step 10: Link Payment Gateway Subscriptions
If you have paid members with active subscriptions, you need to ensure their Stripe/PayPal subscriptions are properly linked.
- Export active subscriptions from Stripe or PayPal
- Match subscription IDs to member email addresses
- In AccessAlly, go to each member’s profile
- Verify the subscription ID is stored correctly
- Test that failed payments will cancel access
Detailed guide: Preserving Subscriptions During Migration
Step 11: Rebuild Your Automations in Ontraport
ActiveCampaign automations cannot be automatically migrated. You must rebuild them in Ontraport.
Common ActiveCampaign automations to rebuild:
- Welcome sequences: Use Ontraport campaigns
- Tag-based automations: Use Ontraport rules and sequences
- Purchase follow-ups: Set up in Ontraport campaigns
- Lead scoring: Rebuild scoring rules in Ontraport
- Site tracking triggers: Reconfigure in Ontraport
ActiveCampaign → Ontraport automation mapping:
| ActiveCampaign | Ontraport Equivalent |
|---|---|
| Automation | Campaign or Sequence |
| Tag trigger | Rule or Campaign trigger |
| Wait step | Wait element in campaign |
| Conditional split | Switch element |
| Goal reached | Campaign goal |
Step 12: Update Forms and Opt-ins
ActiveCampaign forms need to be replaced with Ontraport forms OR AccessAlly forms that submit to Ontraport.
Option 1: Use Ontraport Forms
- Create forms in Ontraport → Landing Pages → Forms
- Embed Ontraport form code on your WordPress pages
- Style forms to match your site
- Set up tag assignments and automation triggers
Option 2: Use AccessAlly Forms (Recommended)
- Create forms in AccessAlly → Opt-in Forms
- Configure to submit to Ontraport
- Better integration with WordPress/AccessAlly features
- More control over styling and behavior
Phase 3: Go-Live and Verification (2-3 hours)
Step 13: Test Everything on Staging
Before touching your live site, thoroughly test on staging:
- ✅ Member login works
- ✅ Content access rules work correctly
- ✅ Tags control access properly
- ✅ Forms submit to Ontraport
- ✅ Purchase flow works end-to-end
- ✅ Subscription linking works
- ✅ Failed payment handling tested
- ✅ Automations trigger correctly
- ✅ Email sending works
Step 14: Switch Live Site to Ontraport
When staging tests pass, switch your live site:
- Schedule downtime (2-4 hour window recommended)
- Put site in maintenance mode
- Create fresh WordPress backup
- Export final ActiveCampaign data (capture any new contacts since staging)
- Switch AccessAlly to Ontraport (same steps as staging)
- Import any new contacts from final export
- Verify access rules and tags
- Test login for 3-5 members
- Take site out of maintenance mode
- Monitor closely for 1 hour
Step 15: Complete Post-Migration Checks
Work through the complete Post-Migration Verification Checklist. Key items for AC → Ontraport:
✅ Contact Data Integrity
- Verify total contact count matches ActiveCampaign
- Check 10 random contacts in Ontraport for complete data
- Verify Contact IDs properly stored in WordPress
- Check for duplicate contacts
✅ Access & Permissions
- Test login as multiple member types
- Verify access to protected content for each membership level
- Check tag-based access rules work
- Test content unlocking based on tags
✅ Tags & Custom Fields
- Verify tags migrated correctly (sample 10 contacts)
- Check custom fields populated in Ontraport
- Test tag-based access rules
- Verify tag assignment via forms
✅ Forms & Automations
- Test each opt-in form submission
- Verify form data reaches Ontraport
- Test order form purchases
- Confirm post-purchase automations fire in Ontraport
- Test auto-login after purchase
✅ Subscriptions & Payments
- Verify active subscriptions linked correctly
- Test new purchase flow end-to-end
- Test subscription cancellation
- 🚨 CRITICAL: Test failed payment handling
- Verify member access aligns with payment status
The #1 issue with CRM switches is Contact ID mismatches. Test this:
- Pick a random member from WordPress
- Check their user meta for “ontraport_contact_id”
- Search Ontraport for that Contact ID
- Verify it’s the correct contact
- Test that tagging them in Ontraport grants access in AccessAlly
If Contact IDs are wrong, members will lose access even if they have correct tags.
Step 16: Monitor for 7 Days
Don’t cancel ActiveCampaign immediately. Monitor for issues during the first week:
- Day 1-2: Watch for immediate access issues, login problems
- Day 3-5: Monitor form submissions and automation triggers
- Day 6-7: Check subscription/payment handling
What to monitor:
- Member support tickets (migration-related confusion?)
- Login errors or access issues
- Payment failures or subscription problems
- Form submission success rates
- Automation trigger verification
Step 17: Clean Up
Once migration is stable (7+ days):
- Disconnect ActiveCampaign from AccessAlly (remove API keys)
- Deactivate Migration Wizard plugin
- Export final ActiveCampaign data for records
- Downgrade or cancel ActiveCampaign (keep 30 days as safety net)
- Remove staging site’s 2-site exception (contact AccessAlly support)
- Update member documentation with any CRM-related changes
Troubleshooting Common Issues
Issue 1: Contact IDs Not Linking (CRITICAL)
Symptoms: Members have correct tags in Ontraport but can’t access content
Causes:
- Contact ID not stored in WordPress user meta during import
- Contact ID stored under wrong meta key
- WordPress user exists but Ontraport contact doesn’t
Solution:
- Check WordPress user meta for “ontraport_contact_id” or “contact_id”
- If missing, re-import the user via Migration Wizard with “Update existing users” checked
- Verify the Contact ID in Ontraport matches the stored ID
- Test access after fixing Contact ID
Issue 2: Tags Not Controlling Access
Symptoms: Members have tags in Ontraport but content access doesn’t match
Causes:
- Tag names in AccessAlly don’t match Ontraport exactly (case-sensitive)
- Access rules reference old ActiveCampaign tag names
- Contact ID linking issue (see Issue 1)
Solution:
- Go to AccessAlly module or page protection settings
- Check “Who Can Access” tag names
- Compare to exact tag names in Ontraport (case-sensitive!)
- Update tag names in AccessAlly to match Ontraport
- Test access again
Issue 3: Custom Fields Data Missing
Symptoms: Custom field data didn’t migrate from ActiveCampaign to Ontraport
Causes:
- Custom fields not created in Ontraport before import
- CSV column names don’t match Ontraport field IDs (f1234)
- Field type mismatch (text in AC, number in Ontraport)
Solution:
- Verify custom fields exist in Ontraport
- Note exact field IDs (e.g., “f1234”)
- Update CSV with correct Ontraport field ID column names
- Re-import with “Update existing users” checked
- Check a few contacts to verify data populated
Issue 4: Forms Not Submitting to Ontraport
Symptoms: Form submissions not creating/updating contacts in Ontraport
Causes:
- AccessAlly not properly connected to Ontraport
- Form configured for old ActiveCampaign connection
- Ontraport API rate limit reached
- Form fields don’t match Ontraport field names/IDs
Solution:
- Verify AccessAlly → Ontraport connection still active
- Edit form settings in AccessAlly
- Ensure form is set to submit to Ontraport (not ActiveCampaign)
- Check field mappings match Ontraport field IDs
- Test form submission and verify in Ontraport
Issue 5: Subscription Payments Not Linked
Symptoms: Active subscribers showing as “no subscription” in AccessAlly
Causes:
- Subscription IDs not properly transferred during migration
- Email address mismatch between Stripe and WordPress
- Subscription metadata not stored in Ontraport
Solution:
- Export active subscriptions from Stripe
- Match subscription IDs to WordPress user emails
- Manually update AccessAlly subscription data for each user
- Test failed payment handling for each subscription
Detailed guide: Preserving Subscriptions During Migration
Issue 6: All Members Lost Access After Migration
Symptoms: Every member getting “You don’t have permission” errors
Causes:
- Contact IDs not linking (most common – see Issue 1)
- Tag names changed during migration
- AccessAlly connection to Ontraport broken
- Membership level settings cleared
Solution:
- DON’T PANIC – this is fixable
- Check AccessAlly → Ontraport connection is active
- Pick one test member and troubleshoot their Contact ID (see Issue 1)
- Once you fix the root cause, it affects all members
- If you can’t fix quickly, consider rolling back to ActiveCampaign temporarily
If critical issues occur and you need to revert to ActiveCampaign:
- Change AccessAlly CRM connection back to ActiveCampaign
- Re-enter ActiveCampaign API credentials
- Verify connection works
- Test member access (should restore immediately)
- Contact AccessAlly support for migration assistance
Migration Timeline & Downtime
Total Time Estimate: 6-8 hours (plus 2-3 hours testing)
| Phase | Time | Downtime Required? |
|---|---|---|
| Ontraport Account Setup | 1-2 hours | ❌ No |
| Data Export & Mapping | 1-2 hours | ❌ No |
| Tag/Field Recreation | 1 hour | ❌ No |
| Staging Site Setup & Test | 2-3 hours | ❌ No (staging only) |
| Live Site CRM Switch | 1-2 hours | ✅ Yes (REQUIRED) |
| Automation Rebuild | 2-4 hours | ❌ No (can do after) |
| Form Migration | 1 hour | ❌ No |
| Testing & Verification | 2-3 hours | ❌ No |
Recommended Downtime Window: 2-4 hours on a weekend or low-traffic period for the live site switch
Need Help?
Migration Support:
- Review the Migration Support Policy
- For CRM switch assistance: Contact AccessAlly support
- Consider professional migration help for large or complex sites
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
- ✅ All contacts imported to Ontraport with correct data
- ✅ Contact IDs properly linked in WordPress
- ✅ Tags and custom fields preserved
- ✅ Member login working
- ✅ Content access rules working correctly
- ✅ Tag-based access tested and verified
- ✅ Subscriptions linked and tested
- ✅ Failed payment handling verified
- ✅ Forms submitting to Ontraport
- ✅ Core automations rebuilt and tested
- ✅ No critical support tickets after 7 days