ARTICLE CONTENT:
Complete Guide: Migrating from ActiveCampaign to Drip (Same AccessAlly Site)
⏱️ Estimated Time: 5-7 hours (plus testing)
🛠️ Technical Level: Intermediate
💰 Cost Impact: Drip costs $39-$1,599/month based on contacts (comparable to ActiveCampaign)
Why Migrate from ActiveCampaign to Drip?
Common reasons for migrating from ActiveCampaign to Drip:
- E-commerce Focus: Drip is purpose-built for e-commerce businesses with product-focused automation
- Revenue Tracking: Better built-in revenue attribution and purchase behavior tracking
- Simpler Interface: Some find Drip’s interface cleaner and easier to navigate
- Visual Workflows: Drip’s visual workflow builder is more intuitive for some users
- E-commerce Integrations: Native integrations with Shopify, WooCommerce, and other platforms
- Lifecycle Marketing: Strong tools for customer journey stages (prospects, customers, lapsed)
What You’ll Need Before Starting
✅ Required Access & Accounts
- WordPress admin access to your AccessAlly site
- ActiveCampaign admin access (for data export)
- Drip account access (must be set up and configured)
- AccessAlly license that supports CRM switching
- Access to your payment gateway (Stripe, PayPal, or WooCommerce)
📋 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 Drip 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 Drip Account
If you haven’t already set up Drip:
- Sign up for Drip (choose appropriate tier for your contact count)
- Complete basic account setup (company info, timezone, sender details)
- Configure email deliverability (SPF, DKIM records)
- Set up your domain authentication
- Test email sending (send yourself a test broadcast)
- 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 (with field types preserved)
- Tags (in a single column, comma-separated)
- Subscription status
- Contact scores (if used)
- Date added
What’s NOT included:
- Automation workflows (must be rebuilt in Drip)
- Email campaign history
- Form designs
- Site tracking data
- Deal pipelines
- Purchase history (may need separate export)
Step 3: Map Your ActiveCampaign Data to Drip
Create a data mapping spreadsheet. Use the Data Mapping Reference Guide for complete field mappings.
| ActiveCampaign Field | Drip Field | Notes |
|---|---|---|
| Required field | ||
| First Name | first_name | Standard field |
| Last Name | last_name | Standard field |
| Phone | phone | Standard field |
| Tags | Drip tags | Both use flat tags (no categories) |
| Custom Fields (typed) | Custom fields (all text) | ⚠️ Drip stores all as text |
| Contact Score | Lead Score (custom field) | Create custom field in Drip |
| Date Added | created_at | Auto-set on import |
ActiveCampaign: Supports typed custom fields (text, number, date, dropdown)
Drip: All custom fields stored as text strings (no type validation)
Impact: Number fields (like “Member Level: 2”) become text (“2”). Date fields become text. Plan your data validation accordingly.
Step 4: Understand Tag Structure Differences
Good news: Both ActiveCampaign and Drip use flat tag structures without categories. This makes tag migration straightforward.
Tag migration notes:
- Both systems support simple tag/untag operations
- Tag names are case-sensitive in both systems
- No category nesting to worry about (unlike Keap/Infusionsoft)
- Tag-based automation triggers work similarly
- Clean up unused tags during this process
Step 5: Recreate Your Tags in Drip
- Make a list of all tags from your ActiveCampaign export
- Go to Drip → Settings → Tags
- Create each tag in Drip (you can also let them auto-create during import)
- Use the exact same tag names for easier mapping
- Consider color-coding tags for organization (Drip feature)
Step 6: Create Custom Fields in Drip
- List all custom fields from ActiveCampaign
- Go to Drip → Settings → Custom Fields
- Create each custom field in Drip
- Note that all fields will be text-based (no type enforcement)
- Use exact field names as ActiveCampaign for easier CSV mapping
ActiveCampaign → Drip field type conversion:
| ActiveCampaign Type | Drip Storage | Notes |
|---|---|---|
| Text | Text | Direct mapping |
| Textarea | Text | Direct mapping |
| Number | Text (stores as string) | ⚠️ No numeric validation |
| Date | Text (ISO 8601 format) | Store as YYYY-MM-DD |
| Dropdown | Text (selected option) | ⚠️ No option validation |
| Checkbox | Text (“true”/”false”) | Or use tags instead |
Step 7: Connect Drip to AccessAlly (Staging Site First)
- On your STAGING site, go to AccessAlly → Settings → General
- Under “CRM Integration,” change from ActiveCampaign to Drip
- Enter your Drip API credentials:
- API Token (found in Drip → Settings → User Settings → API Token)
- Account ID (visible in your Drip URL: drip.com/accounts/YOUR-ACCOUNT-ID)
- Click Save and Test Connection
- Verify the connection is successful
Step 8: Prepare Your CSV for Migration Wizard
The AccessAlly Migration Wizard expects a specific format. Transform your ActiveCampaign export.
Required columns for AccessAlly + Drip import:
email– Email address (required)first_name– First namelast_name– Last nametags– Comma-separated list of Drip tag names- Custom field columns (use exact Drip custom field names)
CSV transformation steps:
- Open your ActiveCampaign export in Excel or Google Sheets
- Rename columns to match Drip format:
- ActiveCampaign “Email” →
email - ActiveCampaign “First Name” →
first_name - ActiveCampaign “Last Name” →
last_name - ActiveCampaign “Tags” →
tags
- ActiveCampaign “Email” →
- For custom fields, ensure column names match Drip custom field names exactly
- Convert any date fields to ISO 8601 format (YYYY-MM-DD)
- Ensure tags are comma-separated in one column
- Remove unsubscribed contacts (or handle separately with “unsubscribed” tag)
- Save as new CSV: “activecampaign-to-drip-import.csv”
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 (instructions)
- Click “Import from CSV”
- Upload your prepared CSV file
- Map CSV columns to Drip fields
- Choose import options:
- Update existing users: Check if members may already exist in WordPress
- Create users in CRM: Check (this creates contacts in Drip)
- 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 Drip
- Tags applied in Drip
- Custom fields populated in Drip
- Contact ID from Drip stored in WordPress user meta
- This Contact ID linking is CRITICAL for access control
Step 10: Update AccessAlly Tags and Access Rules
AccessAlly stores tag names from your old CRM. After switching to Drip, you need to update these.
- Go through each AccessAlly Module or protected page
- Check “Who Can Access” settings
- Verify tag names still match Drip tags (should be identical if you used same names)
- Update any tag-based access rules
- Update membership levels to link to correct Drip tags
Critical areas to check:
- Module access rules
- Page protection settings
- Order form tag assignments
- Email wizard tag triggers
- Automation trigger rules
- Membership level definitions
Step 11: 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 12: Rebuild Your Automations in Drip
ActiveCampaign automations cannot be automatically migrated. You must rebuild them in Drip’s workflow system.
Common ActiveCampaign automations to rebuild:
- Welcome sequences: Use Drip workflows
- Tag-based automations: Use Drip rules and workflows
- Purchase follow-ups: Set up in Drip workflows
- Abandoned cart sequences: Use Drip’s e-commerce triggers
- Re-engagement campaigns: Use Drip campaigns
- Behavioral triggers: Drip’s visual workflow builder
ActiveCampaign → Drip automation mapping:
| ActiveCampaign | Drip Equivalent |
|---|---|
| Automation | Workflow |
| Tag trigger | Workflow trigger (tag applied) |
| Wait step | Delay action |
| Conditional split | Decision node |
| Goal reached | Workflow goal |
| Send email | Send email action |
| Add/remove tag | Apply/remove tag action |
| Update custom field | Update custom field action |
Drip-specific automation advantages:
- E-commerce triggers: Purchase events, abandoned cart, product views
- Revenue tracking: Automatic revenue attribution to campaigns
- Lifecycle stages: Automatically segment by customer stage
- Multi-step workflows: Visual drag-and-drop builder
Step 13: Update Forms and Opt-ins
ActiveCampaign forms need to be replaced with Drip forms OR AccessAlly forms that submit to Drip.
Option 1: Use Drip Forms
- Create forms in Drip → Forms
- Embed Drip form code on your WordPress pages
- Style forms to match your site
- Set up tag assignments and workflow triggers
- Configure form-specific automation
Option 2: Use AccessAlly Forms (Recommended for membership sites)
- Create forms in AccessAlly → Opt-in Forms
- Configure to submit to Drip
- Better integration with WordPress/AccessAlly features
- More control over styling and behavior
- Can trigger AccessAlly automations AND Drip workflows
Phase 3: Go-Live and Verification (2-3 hours)
Step 14: Test Everything on Staging
Before touching your live site, thoroughly test on staging:
✅ Authentication & Access
- Member login works
- Content access rules work correctly
- Tags control access properly
- Different membership levels work
- Password reset functions
✅ Contact Data
- All contacts imported to Drip
- Tags applied correctly
- Custom fields populated
- Contact IDs linked in WordPress
✅ Forms & Automations
- Forms submit to Drip
- Purchase flow works end-to-end
- Workflow triggers fire correctly
- Email sending works
✅ Payments & Subscriptions
- Subscription linking works
- Failed payment handling tested
- Purchase creates correct access
Step 15: Switch Live Site to Drip
When staging tests pass, switch your live site:
- Schedule downtime (2-4 hour window recommended)
- Announce to members (email notification of brief maintenance)
- Put site in maintenance mode
- Create fresh WordPress backup
- Export final ActiveCampaign data (capture any new contacts since staging)
- Switch AccessAlly to Drip (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-2 hours
Step 16: Complete Post-Migration Checks
Work through the complete Post-Migration Verification Checklist. Key items for AC → Drip:
✅ Contact Data Integrity
- Verify total contact count matches ActiveCampaign
- Check 10 random contacts in Drip for complete data
- Verify Contact IDs properly stored in WordPress
- Check for duplicate contacts
- Verify custom fields populated
✅ 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
- Verify drip content release still works
✅ Tags & Custom Fields
- Verify tags migrated correctly (sample 10 contacts)
- Check custom fields populated in Drip (remember: all stored as text)
- Test tag-based access rules
- Verify tag assignment via forms
✅ Forms & Automations
- Test each opt-in form submission
- Verify form data reaches Drip
- Test order form purchases
- Confirm post-purchase workflows fire in Drip
- Test auto-login after purchase
- Verify email sequences trigger correctly
✅ 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 “drip_contact_id” or “contact_id”
- Search Drip for that Contact ID (in Drip, this is the subscriber ID)
- Verify it’s the correct contact (match email address)
- Test that tagging them in Drip grants access in AccessAlly
- Test that removing tags in Drip removes access
If Contact IDs are wrong, members will lose access even if they have correct tags.
Step 17: 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 workflow 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
- Workflow trigger verification
- Email deliverability (Drip has different sending infrastructure)
Step 18: 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
- Archive migration documentation for future reference
Troubleshooting Common Issues
Issue 1: Contact IDs Not Linking (CRITICAL)
Symptoms: Members have correct tags in Drip 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 Drip contact doesn’t
- Drip API connection broken during import
Solution:
- Check WordPress user meta for “drip_contact_id” or “contact_id”
- If missing, re-import the user via Migration Wizard with “Update existing users” checked
- Verify the Contact ID in Drip matches the stored ID
- In Drip, search by email to find the contact’s subscriber ID
- Test access after fixing Contact ID
Issue 2: Tags Not Controlling Access
Symptoms: Members have tags in Drip but content access doesn’t match
Causes:
- Tag names in AccessAlly don’t match Drip exactly (case-sensitive)
- Access rules reference old ActiveCampaign tag names
- Contact ID linking issue (see Issue 1)
- Drip sync delay (tags take a few seconds to sync)
Solution:
- Go to AccessAlly module or page protection settings
- Check “Who Can Access” tag names
- Compare to exact tag names in Drip (case-sensitive!)
- Update tag names in AccessAlly to match Drip
- Test access again
- Wait 30 seconds and test again (API sync delay)
Issue 3: Custom Fields Lost Data Type
Symptoms: Number or date fields no longer validating correctly
Causes:
- Drip stores all custom fields as text (no type enforcement)
- ActiveCampaign enforced field types, Drip doesn’t
- Data imported correctly but stored as strings
Solution:
- Accept that Drip stores everything as text
- If you need type validation, implement it in AccessAlly forms
- For dates, use ISO 8601 format (YYYY-MM-DD) consistently
- For numbers, ensure values are numeric strings (no commas or symbols)
- Consider using tags instead of custom fields for boolean values
Issue 4: Workflows Not Triggering
Symptoms: Drip workflows not firing when expected
Causes:
- Workflow not activated
- Trigger conditions not met
- Contact already passed through workflow (can’t re-enter by default)
- Workflow configured for wrong event
Solution:
- Check workflow is “Active” (not draft or paused)
- Review trigger conditions (tag applied, form submitted, purchase made)
- Check workflow settings for “Allow re-entry”
- Test with a fresh test contact (no workflow history)
- Check Drip activity log for the contact
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 correctly
- Payment gateway webhook not configured
Solution:
- Export active subscriptions from Stripe or PayPal
- Match subscription IDs to WordPress user emails
- Manually update AccessAlly subscription data for each user
- Verify payment gateway webhooks point to your site
- Test failed payment handling for each subscription
Detailed guide: Preserving Subscriptions During Migration
Issue 6: Forms Not Submitting to Drip
Symptoms: Form submissions not creating/updating contacts in Drip
Causes:
- AccessAlly not properly connected to Drip
- Form configured for old ActiveCampaign connection
- Drip API rate limit reached
- Form fields don’t match Drip field names
- API token expired or invalid
Solution:
- Verify AccessAlly → Drip connection still active
- Edit form settings in AccessAlly
- Ensure form is set to submit to Drip (not ActiveCampaign)
- Check field mappings match Drip custom field names
- Test form submission and verify in Drip activity log
- Check Drip API rate limits (usually very generous)
Issue 7: 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 Drip broken
- Membership level settings cleared
- Incorrect API credentials
Solution:
- DON’T PANIC – this is fixable
- Check AccessAlly → Drip connection is active
- Test connection (Settings → General → Test Connection)
- 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
- Review what went wrong before attempting Drip migration again
ActiveCampaign vs. Drip: Key Differences to Know
Understanding these differences helps you set expectations and plan your migration:
| Feature | ActiveCampaign | Drip |
|---|---|---|
| Primary Focus | All-in-one marketing automation | E-commerce marketing automation |
| Custom Fields | Typed fields (text, number, date) | All text-based (no type validation) |
| Tag Structure | Flat tags (no categories) | Flat tags (no categories) |
| Automation Builder | Visual + list-based builder | Visual workflow builder |
| Revenue Tracking | Requires custom setup | Built-in e-commerce tracking |
| CRM Features | Full CRM with deals/pipelines | Contact management (no deals) |
| Best For | Service businesses, coaching, B2B | Product businesses, e-commerce, SaaS |
| Learning Curve | Medium (many features) | Low-Medium (simpler, focused) |
Migration Timeline & Downtime
Total Time Estimate: 5-7 hours (plus 2-3 hours testing)
| Phase | Time | Downtime Required? |
|---|---|---|
| Drip Account Setup | 1 hour | ❌ 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) |
| Workflow 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 Drip with correct data
- ✅ Contact IDs properly linked in WordPress
- ✅ Tags preserved and controlling access correctly
- ✅ Custom fields migrated (remember: all stored as text)
- ✅ 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 Drip
- ✅ Core workflows rebuilt and tested
- ✅ E-commerce tracking configured (if applicable)
- ✅ No critical support tickets after 7 days