ARTICLE CONTENT:
Complete Guide: Upgrading from AccessAlly Managed Contacts to ActiveCampaign
⏱️ Estimated Time: 5-7 hours (plus testing)
🛠️ Technical Level: Intermediate
💰 Cost Impact: $0/month → $15-259/month (ActiveCampaign pricing) but eliminates SMTP plugin costs
📈 Migration Type: UPGRADE (No CRM → Full Marketing Automation Platform)
Why Migrate from AccessAlly Managed to ActiveCampaign?
This migration represents a significant platform UPGRADE. You’re moving from a no-CRM setup (WordPress users + AccessAlly tags) to a full-featured marketing automation platform.
Common reasons for upgrading:
- Better Email Deliverability: ActiveCampaign’s email infrastructure far superior to WordPress SMTP (inbox placement rates 95%+ vs 70-80%)
- Advanced Automation: ActiveCampaign’s visual automation builder more powerful than AccessAlly Email Wizards
- Scalability: As your list grows beyond 5,000-10,000, managing contacts in WordPress becomes unwieldy
- Site Tracking & Behavioral Marketing: ActiveCampaign tracks member behavior and triggers automations based on site visits
- Lead Scoring: Automatically score prospects based on engagement
- CRM Features: Built-in sales pipeline, deals, and contact management
- Professional Emails: Move from WordPress emails (often flagged as spam) to dedicated email infrastructure
- Eliminate SMTP Plugin Dependency: No more configuring WP Mail SMTP, Postmark, or SendGrid separately
- You may eliminate SMTP service costs ($10-100/month)
- Better deliverability = higher email ROI
- Advanced features may replace other tools you’re paying for
- ActiveCampaign pricing scales with contact count (start small, grow over time)
What You’ll Need Before Starting
✅ Required Access & Accounts
- WordPress admin access to your AccessAlly site
- AccessAlly license (verify CRM switching is supported on your plan)
- ActiveCampaign account (sign up and configure BEFORE migrating)
- Access to your payment gateway (Stripe or PayPal)
- Ability to export WordPress users (admin access required)
📋 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 “contacts” in AccessAlly Managed)
- Audit of current member count and AccessAlly tags
- Data mapping spreadsheet (WordPress user fields → ActiveCampaign fields)
- Staging site setup for testing (HIGHLY RECOMMENDED for CRM switches)
- Request 2-site exception from AccessAlly support (to test on staging)
- Downtime plan and member communication strategy
You MUST test this migration on staging before touching your live site. Contact AccessAlly support to request a temporary 2-site exception so you can connect both staging and live sites during testing.
Phase 1: Pre-Migration Setup (2-3 hours)
Step 1: Set Up Your ActiveCampaign Account
Complete ActiveCampaign setup BEFORE starting migration:
- Sign up for ActiveCampaign (choose appropriate tier for your contact count)
- Complete account setup wizard:
- Company information
- Timezone settings
- Default sender name and email
- Business type and industry
- Configure email deliverability:
- Add and verify your sending domain
- Set up SPF and DKIM records (ActiveCampaign provides exact DNS records)
- Complete domain authentication
- Send test emails to verify deliverability
- Create a test automation to familiarize yourself with the builder
Step 2: Export Your WordPress Users (Your Current “Contacts”)
In AccessAlly Managed mode, your contacts are stored as WordPress users. Export them:
- Go to WordPress → Users → All Users
- Install the “Export Users to CSV” plugin (free)
- Go to Tools → Export Users to CSV
- Select fields to export:
- user_email (required)
- first_name
- last_name
- user_registered (signup date)
- All user meta fields (this includes AccessAlly tags and custom fields)
- Click Export and download the CSV
What’s included in WordPress user export:
- Email addresses
- First and last names
- WordPress user meta (custom fields)
- AccessAlly tags (stored as user meta)
- User registration dates
What’s NOT included:
- Email sending history (WordPress doesn’t track this)
- Email Wizard sequences (must be rebuilt in ActiveCampaign)
- Automation triggers (must be recreated)
Step 3: Map WordPress Data to ActiveCampaign
Create a data mapping spreadsheet. Use the Data Mapping Reference Guide for complete details.
| WordPress Field | ActiveCampaign Field | Notes |
|---|---|---|
| user_email | Required field | |
| first_name | first_name | Standard field |
| last_name | last_name | Standard field |
| user_registered | Custom field: “Member Since” | Create as date field in AC |
| AccessAlly tags | ActiveCampaign tags | Recreate tags in AC first (flat structure) |
| WordPress user meta (custom fields) |
AC custom fields (typed: text, number, date, etc.) |
AC auto-creates but verify field types |
Step 4: Recreate Your Tags in ActiveCampaign
- Export a list of all AccessAlly tags currently in use:
- Go to AccessAlly → Tags
- Copy all tag names to a spreadsheet
- Go to ActiveCampaign → Lists → Tags
- Create each tag in ActiveCampaign
- IMPORTANT: Use the EXACT same tag names (case-sensitive) for seamless access rule migration
Tag structure comparison:
| AccessAlly Managed | ActiveCampaign |
|---|---|
| Flat tag structure (no categories) | Flat tag structure (no categories) |
| Tags stored as WordPress user meta | Tags stored in ActiveCampaign database |
| Simple tag/untag operations | Simple tag/untag operations (same behavior) |
Step 5: Create Custom Fields in ActiveCampaign
- List all WordPress user meta fields (custom fields) from your export
- Go to ActiveCampaign → Lists → Fields
- For each custom field, create it in ActiveCampaign:
- Choose appropriate field type (Text, Number, Date, Dropdown, etc.)
- Use same field name for easier mapping
- Set field options (required, visible in forms, etc.)
WordPress user meta → ActiveCampaign field type mapping:
- Text data: Text field
- Numbers (prices, counts): Number field (enables numeric filtering)
- Dates (subscription start, birthday): Date field (enables date-based automations)
- Yes/No values: Checkbox field
- Multiple choice: Dropdown or Radio field
Step 6: Connect ActiveCampaign to AccessAlly (Staging Site First)
- On your STAGING site, go to AccessAlly → Settings → General
- Under “CRM Integration,” change from “Managed Contacts (no CRM)” to “ActiveCampaign”
- Enter your ActiveCampaign API credentials:
- Account URL (e.g., yourcompany.activehosted.com)
- API Key (found in ActiveCampaign → Settings → Developer)
- Click Save and Test Connection
- Verify the connection is successful
Step 7: Prepare Your CSV for Migration Wizard
Transform your WordPress user export into Migration Wizard format:
Required columns:
Email– Email address (required)First Name– First nameLast Name– Last nameTags– Comma-separated list of ActiveCampaign tag namesCustom Field Name– One column per custom field (use AC field names)
CSV transformation steps:
- Open your WordPress user export in Excel or Google Sheets
- Rename columns:
user_email→Emailfirst_name→First Namelast_name→Last Name
- Create a
Tagscolumn with comma-separated AccessAlly tags - Format custom field columns to match ActiveCampaign field names
- Remove test users, admin accounts, and invalid email addresses
- Save as: “aa-managed-to-activecampaign-import.csv”
Phase 2: Migration Execution (2-3 hours)
Step 8: Download and Activate the Migration Wizard Plugin
- Go to AccessAlly → Utilities
- Find “Migration Wizard Plugin”
- Click Download to get the plugin ZIP file
- Go to WordPress → Plugins → Add New → Upload Plugin
- Upload the Migration Wizard ZIP file
- Click Activate Plugin
Full guide: Using the AccessAlly Migration Wizard Plugin
Step 9: Import Contacts to ActiveCampaign via Migration Wizard
- On your STAGING site, go to AccessAlly → Migration Wizard
- Click “Import from CSV”
- Upload your prepared CSV file
- Map CSV columns to ActiveCampaign fields (should auto-detect if named correctly)
- Choose import options:
- Create users in WordPress: Uncheck (users already exist)
- Update existing users: Check (updates existing WordPress users)
- Create contacts in CRM: Check (creates contacts in ActiveCampaign)
- Add tags: Check (applies tags from CSV)
- Send welcome email: Uncheck (members already exist)
- Click “Start Import”
What happens during import:
- Contacts created in ActiveCampaign
- Tags applied in ActiveCampaign
- Custom fields populated in ActiveCampaign
- CRITICAL: ActiveCampaign Contact ID stored in WordPress user meta
- This Contact ID link is what connects WordPress users to ActiveCampaign contacts
Step 10: Verify Contact ID Linking
The most critical part of this migration: verify WordPress users are linked to ActiveCampaign contacts.
- Pick a random WordPress user
- Go to WordPress → Users → [User Name] → Edit
- Scroll to AccessAlly Contact Information
- Verify you see an ActiveCampaign Contact ID (numeric ID)
- Go to ActiveCampaign and search for that Contact ID
- Verify it’s the correct contact (same email address)
- Repeat for 5-10 users to spot-check
If Contact IDs aren’t linked, AccessAlly can’t check ActiveCampaign for tags, and members will lose access. This is the #1 issue with CRM switches. Verify thoroughly.
Step 11: Update AccessAlly Access Rules (If Needed)
If you kept the same tag names, your access rules should work automatically. But verify:
- Go through each AccessAlly Module
- Check “Who Can Access” settings
- Verify tag names match ActiveCampaign tags exactly (case-sensitive)
- Update any tag-based access rules if tag names changed
- Check protected page access rules
- Verify membership level tag associations
Step 12: Link Payment Gateway Subscriptions
If you have paid members with active subscriptions, link Stripe/PayPal subscriptions:
- Export active subscriptions from Stripe or PayPal
- Match subscription IDs to member email addresses
- In AccessAlly, verify each member’s subscription ID is stored correctly
- Test that failed payments will cancel access (critical for security)
Detailed guide: How to Migrate Subscription Payments
Step 13: Migrate Email Wizards to ActiveCampaign Automations
AccessAlly Email Wizards cannot be automatically migrated. Rebuild them as ActiveCampaign automations.
Email Wizard → ActiveCampaign automation mapping:
| AccessAlly Email Wizard | ActiveCampaign Automation |
|---|---|
| Tag-triggered email sequence | Automation with “Tag Added” trigger |
| Time delays (send 3 days later) | Wait steps in automation |
| Conditional emails (if has tag) | If/Else blocks in automation |
| Remove tag action | Remove tag action (same) |
| Add membership action | Add tag action (membership tags) |
- Behavioral triggers (visited page, clicked link, opened email)
- Lead scoring based on engagement
- Advanced splits and conditional logic
- Goal-based automation (stop when member takes desired action)
- CRM integration (create deals, move pipeline stages)
Take time to explore ActiveCampaign’s capabilities – you can build much more sophisticated sequences.
Step 14: Update Forms to Submit to ActiveCampaign
If you’re using AccessAlly opt-in forms or order forms, update them to submit to ActiveCampaign:
For opt-in forms:
- Go to AccessAlly → Opt-in Forms
- Edit each form
- Verify “CRM Integration” is set to ActiveCampaign
- Update tag assignments if tag names changed
- Test form submission and verify contact created in ActiveCampaign
For order forms:
- Go to AccessAlly → Order Forms
- Edit each order form
- Verify CRM integration points to ActiveCampaign
- Update post-purchase tag assignments
- Test purchase flow end-to-end
Phase 3: Testing and Go-Live (2-3 hours)
Step 15: Complete Staging Site Testing
Thoroughly test on staging before touching your live site:
✅ Contact Data Integrity
- Verify total contact count in ActiveCampaign matches WordPress user count
- Check 10 random contacts for complete data (names, tags, custom fields)
- Verify Contact IDs properly linked (see Step 10)
- Check for duplicate contacts in ActiveCampaign
✅ Access & Permissions
- Test login as different membership levels (use incognito windows)
- Verify access to protected content works correctly
- Check each membership level unlocks correct modules
- Test tag-based access rules
- Verify content unlocking based on ActiveCampaign tags
✅ Tags & Custom Fields
- Verify tags migrated correctly (sample 10 contacts in ActiveCampaign)
- Check custom fields populated correctly
- Test tag-based access rules
- Verify tagging in ActiveCampaign grants access in AccessAlly
✅ Forms & Automations
- Test each opt-in form submission
- Verify form data reaches ActiveCampaign
- Test order form purchases (use Stripe test mode)
- Confirm post-purchase automations fire in ActiveCampaign
- 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
Test that failed payments correctly cancel member access:
- Create a test member with a test subscription
- Simulate a failed payment in Stripe test mode
- Verify AccessAlly removes member access
- Check that the subscription cancellation webhook fired correctly
If this doesn’t work, you have a security issue – members could keep access without paying.
Step 16: Switch Live Site to ActiveCampaign
Only after staging tests pass completely:
- Schedule downtime window (2-4 hours recommended)
- Communicate with members (announce scheduled maintenance)
- Put site in maintenance mode
- Create fresh WordPress backup
- Export final WordPress users (capture any new signups since staging test)
- Switch AccessAlly to ActiveCampaign (same steps as staging)
- Import any new users from final export
- Verify access rules and tags
- Test login for 3-5 members (different membership levels)
- Take site out of maintenance mode
- Monitor closely for 2-4 hours
Step 17: Complete Post-Migration Verification
Work through the complete Post-Migration Verification Checklist.
Pay special attention to:
- Contact ID linking (verify for 10+ random users)
- Email deliverability (send test campaigns to Gmail, Outlook, Yahoo)
- Automation triggers (verify tag-based automations fire correctly)
- Member support tickets (watch for access or login complaints)
Step 18: Monitor for 7 Days
Monitor closely during the first week after migration:
- Day 1-2: Immediate access issues, login problems, Contact ID linking issues
- Day 3-5: Email deliverability, automation triggers, form submissions
- Day 6-7: Subscription/payment issues, ongoing automation performance
What to monitor:
- Member support tickets (migration-related confusion?)
- Email bounce rates and deliverability
- Login errors or access issues
- Payment failures or subscription problems
- Form submission success rates
- Automation completion rates
Step 19: Deactivate Migration Wizard Plugin
Once migration is complete and verified (7+ days stable):
- Go to WordPress → Plugins
- Find “AccessAlly Migration Wizard”
- Click Deactivate
- Click Delete to remove the plugin
The Migration Wizard is only needed during migration. Removing it reduces your plugin footprint.
Troubleshooting Common Issues
Issue 1: Members Have Tags in ActiveCampaign But Can’t Access Content
Symptoms: Members have correct tags in ActiveCampaign but getting “insufficient permissions” errors in WordPress
Causes:
- Contact ID not linked properly (most common)
- Tag names in AccessAlly don’t match ActiveCampaign exactly (case-sensitive)
- AccessAlly still configured for “Managed Contacts” instead of ActiveCampaign
Solution:
- Verify AccessAlly is connected to ActiveCampaign (Settings → General)
- Check the member’s WordPress user meta for ActiveCampaign Contact ID
- If Contact ID missing, re-import the user via Migration Wizard
- Verify tag names in AccessAlly access rules match ActiveCampaign exactly
- Test access after fixing Contact ID
Issue 2: Email Deliverability Worse After Migration
Symptoms: Emails going to spam, low open rates, high bounce rates
Causes:
- SPF/DKIM not configured correctly in ActiveCampaign
- Sending domain not authenticated
- Sending too many emails too quickly (need to warm up sending domain)
- Email content triggering spam filters
Solution:
- Verify SPF and DKIM records in ActiveCampaign (Settings → Advanced → Domain Authentication)
- Complete domain authentication process
- Warm up your sending domain (start with small batches, increase gradually)
- Test email deliverability with Mail Tester (mail-tester.com)
- Review email content for spam trigger words
- Check sender reputation (use MXToolbox)
Issue 3: Members Can’t Log In After Migration
Symptoms: Members getting “Invalid username or password” errors
Causes:
- Members trying to log in with email instead of username (WordPress login behavior)
- Browser cached old credentials
- Password reset needed after migration
Solution:
- Remind members to use their WordPress username (not email) OR enable email login via plugin
- Have members clear browser cache and cookies
- Send password reset emails if needed
- Consider enabling “Login with Email” plugin for easier member experience
Issue 4: Automations Not Firing in ActiveCampaign
Symptoms: Tags applied in ActiveCampaign but automations don’t trigger
Causes:
- Automation not set to “Active” status
- Automation trigger doesn’t match how tags are being applied
- Contact already went through automation (contacts only enter once by default)
- Automation has goal that was already met
Solution:
- Check automation status (must be “Active”)
- Verify trigger settings (Tag Added vs Tag Present)
- Check automation settings for “Allow contacts to re-enter”
- Review automation goals (contacts exit when goal is met)
- Test with a fresh test contact
Issue 5: Custom Fields Not Populating in ActiveCampaign
Symptoms: Custom field data missing from ActiveCampaign contacts
Causes:
- Custom fields not created in ActiveCampaign before import
- CSV column names don’t match ActiveCampaign field names
- Field type mismatch (text data in number field)
- Special characters breaking import
Solution:
- Verify custom fields exist in ActiveCampaign (Lists → Fields)
- Check CSV column headers match field names exactly
- Verify data format matches field type (dates formatted correctly, numbers are numeric)
- Re-import with “Update existing contacts” enabled
- Check import log for error messages
Issue 6: Payment Webhooks Not Working
Symptoms: Purchases in Stripe/PayPal not triggering access in AccessAlly
Causes:
- Webhook URLs need updating (changed from Managed Contacts to ActiveCampaign)
- Webhook not configured in Stripe/PayPal
- AccessAlly webhook handler not responding
Solution:
- Go to AccessAlly → Settings → Payment Gateway
- Copy the webhook URL
- Update webhook URL in Stripe or PayPal
- Test webhook delivery (Stripe has webhook testing tools)
- Check AccessAlly webhook logs for errors
Email Deliverability Comparison: Before vs After
| Metric | AccessAlly Managed (WordPress SMTP) |
ActiveCampaign |
|---|---|---|
| Inbox Placement Rate | 70-80% (varies widely) | 95%+ (industry-leading) |
| Email Infrastructure | Shared hosting or SMTP plugin | Dedicated email servers |
| IP Reputation | Shared (affected by other sites) | Monitored and protected |
| Spam Filtering | Higher risk (WordPress emails often flagged) | Lower risk (trusted sender) |
| Authentication | Manual SPF/DKIM setup required | Built-in, easy setup |
| Bounce Handling | Manual or plugin-based | Automatic bounce management |
| Unsubscribe Management | Manual implementation required | Built-in one-click unsubscribe |
| Email Tracking | Limited or no tracking | Full open/click tracking |
Cost Analysis: AccessAlly Managed vs ActiveCampaign
| Contact Count | AA Managed Cost | ActiveCampaign Cost | Net Change |
|---|---|---|---|
| 500 contacts | $0 CRM + $10-50/mo SMTP |
$15/month (no SMTP needed) |
+$0 to +$15/mo |
| 1,000 contacts | $0 CRM + $20-75/mo SMTP |
$49/month | +$0 to +$29/mo |
| 2,500 contacts | $0 CRM + $50-100/mo SMTP |
$79/month | -$21 to +$29/mo |
| 5,000 contacts | $0 CRM + $75-150/mo SMTP |
$149/month | -$1 to +$74/mo |
| 10,000 contacts | $0 CRM + $100-200/mo SMTP |
$259/month | +$59 to +$159/mo |
Cost considerations:
- ActiveCampaign eliminates need for separate SMTP service (SendGrid, Postmark, etc.)
- Better deliverability = higher email ROI (may offset cost increase)
- Advanced automation features may replace other tools (Zapier, etc.)
- CRM features may eliminate need for separate CRM tool
- Time saved on email management has value
Migration Timeline & Downtime
Total Time Estimate: 5-7 hours (plus 2-3 hours testing)
| Phase | Tasks | Time |
|---|---|---|
| Pre-Migration Setup | ActiveCampaign account setup, domain authentication, tag/field creation, data mapping | 2-3 hours |
| Data Export & Preparation | Export WordPress users, transform CSV, prepare for import | 1 hour |
| Staging Setup & Test | Connect ActiveCampaign to staging, import contacts, verify Contact IDs, test access | 2-3 hours |
| Live Site Switch | Switch live site to ActiveCampaign, import final users, verify | 1-2 hours (DOWNTIME) |
| Automation Migration | Rebuild Email Wizards as ActiveCampaign automations | 2-4 hours |
| Form Updates | Update opt-in and order forms to submit to ActiveCampaign | 30-60 min |
| Testing & Verification | Complete post-migration checklist, test all critical paths | 2-3 hours |
Recommended Downtime Window: 2-4 hours on a weekend or low-traffic period for live site switch
Need Help?
Migration Support:
- Review the Migration Support Policy
- For migration assistance: Contact AccessAlly support
- ActiveCampaign offers free setup assistance – schedule a call during onboarding
Related Guides:
- Pre-Migration Checklist
- Post-Migration Verification
- Data Mapping Reference
- How to Migrate CRMs and Keep Same Site
- Preserving Subscriptions During Migration
- AccessAlly Managed vs CRM Comparison
- ✅ All WordPress users imported to ActiveCampaign
- ✅ Contact IDs properly linked in WordPress user meta
- ✅ 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
- ✅ Email deliverability improved (test inbox placement)
- ✅ Forms submitting to ActiveCampaign
- ✅ Core automations rebuilt and tested
- ✅ No critical support tickets after 7 days
- ✅ Email open rates improved (expect 15-25% increase)