ARTICLE CONTENT:
Complete Guide: Migrating from Ontraport to Drip (Same AccessAlly Site)
⏱️ Estimated Time: 5-7 hours (plus testing)
🛠️ Technical Level: Intermediate
💰 Cost Impact: Drip pricing varies widely ($39-$1,599/mo based on list size)
Why Migrate from Ontraport to Drip?
Common reasons for migrating from Ontraport to Drip:
- E-Commerce Focus: Drip is purpose-built for e-commerce businesses with product recommendations and revenue tracking
- Simpler Interface: Drip has a more intuitive interface than Ontraport’s complex CRM
- Visual Workflows: Drip’s visual automation builder is easier to understand than Ontraport campaigns
- Better E-Commerce Integrations: Native Shopify, WooCommerce, and Magento integrations
- Cost Reduction: May be less expensive if you don’t need Ontraport’s advanced CRM features
- Not Using CRM Features: If you’re not using Ontraport’s deals, pipelines, or sales features, you’re overpaying
What You’ll Need Before Starting
✅ Required Access & Accounts
- WordPress admin access to your AccessAlly site
- Ontraport 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 or PayPal)
- Access to your domain’s DNS settings (for email deliverability)
📋 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 Ontraport 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 (2-3 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 email)
- Configure email deliverability (SPF, DKIM records)
- Set up custom domain for email sending (e.g., mail.yourdomain.com)
- Test email sending (send yourself a test campaign)
- Create a test form and workflow
Step 2: Export Your Data from Ontraport
- Log into your Ontraport account
- Go to Contacts → Export
- Select “All Contacts” or filter for active contacts only
- Choose “All Fields”
- Include Tags in export
- Click Export
- Ontraport will generate a CSV file (may take several minutes for large lists)
- Download and open the CSV
What’s included in the Ontraport export:
- Email addresses
- First and last names
- Phone numbers
- Custom fields (with field IDs like f1234)
- Tags (comma-separated)
- Contact IDs
- Dates (created, modified)
What’s NOT included:
- Campaigns and sequences (must be rebuilt in Drip)
- Deals and pipelines (Drip doesn’t have these features)
- Tasks and notes
- Email campaign history
- Form designs
- Landing pages
Step 3: Map Your Ontraport Data to Drip
Create a data mapping spreadsheet. Use the Data Mapping Reference Guide for complete field mappings.
| Ontraport Field | Drip Field | Notes |
|---|---|---|
| Required field | ||
| firstname | first_name | Standard field |
| lastname | last_name | Standard field |
| office_phone or cell_phone | phone | Drip has single phone field |
| Tags | Tags | Both use flat tag structure |
| Custom Fields (f1234) | Custom Fields (text only) | ALL Drip fields stored as text |
| Address (city, state, zip) | address1, city, state, zip | Drip has standard address fields |
Unlike Ontraport (which has typed fields like number, date, dropdown), Drip stores ALL custom fields as text. This means:
- Number fields from Ontraport become text in Drip (no validation)
- Date fields from Ontraport become text strings in Drip
- Dropdown fields from Ontraport become text fields in Drip
- You lose field type enforcement and validation
Plan your data accordingly and add validation elsewhere if needed.
Step 4: Recreate Your Tags in Drip
- Make a list of all tags from your Ontraport export
- Log into Drip
- Go to Subscribers → Tags
- Create each tag in Drip
- Use the exact same tag names for easier mapping
Tag structure comparison:
- Ontraport: Flat tag structure (no categories)
- Drip: Flat tag structure (no categories)
- Good news: Tag migration is straightforward – no category prepending issues like Keap
Step 5: Create Custom Fields in Drip
- List all custom fields from Ontraport (note the f-numbers like f1234)
- In Drip, go to Settings → Custom Fields
- Create each custom field with a descriptive name
- Remember: ALL Drip custom fields are text fields
- Note the field names for CSV mapping
Ontraport → Drip custom field conversion:
| Ontraport Field Type | Drip Field Type | Considerations |
|---|---|---|
| Text | Text | Direct mapping |
| Numeric | Text (stores numbers as text) | No numeric validation in Drip |
| Date | Text (stores dates as strings) | Use consistent date format (YYYY-MM-DD) |
| Drop Down | Text | No dropdown validation – free text entry |
| Check Box | Text (store “true”/”false”) | Use consistent boolean format |
| Large Text | Text | Direct mapping |
Step 6: Connect Drip to AccessAlly (Staging Site First)
- On your STAGING site, go to AccessAlly → Settings → General
- Under “CRM Integration,” change from Ontraport to Drip
- Enter your Drip API credentials:
- Account ID (found in Drip → Settings → Account)
- API Token (found in Drip → Settings → User Settings → API Token)
- 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 Ontraport 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 Drip field names)
CSV transformation steps:
- Open your Ontraport export in Excel or Google Sheets
- Rename columns:
- Ontraport “email” →
email - Ontraport “firstname” →
first_name - Ontraport “lastname” →
last_name - Ontraport custom fields (f1234) → Drip field names
- Ontraport “email” →
- Ensure tags are comma-separated in one column
- Convert date fields to YYYY-MM-DD format for consistency
- Convert checkbox fields to “true”/”false” text
- Remove unsubscribed contacts (or handle separately)
- Save as new CSV: “ontraport-to-drip-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 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
- Contact ID from Drip 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 Drip, verify these still match.
- Go through each AccessAlly Module or protected page
- Check “Who Can Access” settings
- Verify tag names match Drip tags exactly (case-sensitive)
- Update any tag-based access rules if tag names changed
- 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
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 Drip
Ontraport campaigns cannot be automatically migrated. You must rebuild them as Drip workflows.
Common Ontraport automations to rebuild:
- Email sequences: Use Drip workflows
- Tag-based automations: Use Drip workflow triggers
- Purchase follow-ups: Set up in Drip workflows
- Product recommendations: Use Drip’s e-commerce features
- Behavioral triggers: Reconfigure in Drip
Ontraport → Drip automation mapping:
| Ontraport | Drip Equivalent |
|---|---|
| Campaign | Workflow |
| Sequence | Workflow with delays |
| Tag trigger | Workflow trigger (tag applied) |
| Wait step | Delay step in workflow |
| If/Then block | Branch step (if/else) |
| Goal reached | Workflow goal |
| Email action |
Step 12: Update Forms and Opt-ins
Ontraport 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
Option 2: Use AccessAlly Forms (Recommended)
- 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 use conditional logic and multi-step forms
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 Drip
- ✅ Purchase flow works end-to-end
- ✅ Subscription linking works
- ✅ Failed payment handling tested
- ✅ Workflows trigger correctly
- ✅ Email sending works
- ✅ Custom field data displays correctly
Step 14: Switch Live Site to Drip
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 Ontraport 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 with different membership levels
- Take site out of maintenance mode
- Monitor closely for 1-2 hours
Step 15: Complete Post-Migration Checks
Work through the complete Post-Migration Verification Checklist. Key items for Ontraport → Drip:
✅ Contact Data Integrity
- Verify total contact count matches Ontraport
- Check 10 random contacts in Drip for complete data
- Verify Contact IDs properly stored in WordPress
- Check for duplicate contacts
- Verify custom field data (remember: all text now)
✅ 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 module progression works
✅ Tags & Custom Fields
- Verify tags migrated correctly (sample 10 contacts)
- Check custom fields populated in Drip
- Test tag-based access rules
- Verify tag assignment via forms
- Check that custom field data is accessible (even as text)
✅ 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
- Verify it’s the correct contact
- Test that tagging them in Drip grants access in AccessAlly within 1-2 minutes
If Contact IDs are wrong, members will lose access even if they have correct tags.
Step 16: Monitor for 7 Days
Don’t cancel Ontraport 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 and engagement rates
Step 17: Clean Up
Once migration is stable (7+ days):
- Disconnect Ontraport from AccessAlly (remove API keys)
- Deactivate Migration Wizard plugin
- Export final Ontraport data for records
- Downgrade or cancel Ontraport (keep 30 days as safety net)
- Remove staging site’s 2-site exception (contact AccessAlly support)
- Update member documentation with any changes
- Celebrate cost savings!
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
- AccessAlly→Drip connection broken
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
- Test that AccessAlly can read tags from Drip for this user
- Test access after fixing Contact ID
Issue 2: Custom Field Data Missing or Incorrect
Symptoms: Custom field data didn’t migrate or displays incorrectly
Causes:
- Custom fields not created in Drip before import
- CSV column names don’t match Drip field names
- Field type conversion issues (dates, numbers became text)
- Special characters or formatting issues
Solution:
- Verify custom fields exist in Drip → Settings → Custom Fields
- Note exact field names (case-sensitive)
- Update CSV with correct Drip field names
- For dates: ensure consistent format (YYYY-MM-DD recommended)
- For numbers: verify they’re stored as text but still readable
- Re-import with “Update existing users” checked
- Check a few contacts to verify data populated
Issue 3: 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 Ontraport tag names
- Contact ID linking issue (see Issue 1)
- Tag sync delay between Drip and AccessAlly
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
- Wait 2-3 minutes for sync (AccessAlly caches tag data)
- Test access again
Issue 4: Workflows Not Triggering
Symptoms: Drip workflows not firing when expected
Causes:
- Workflow not activated in Drip
- Trigger conditions not met
- Tag names don’t match trigger
- Subscriber already completed workflow
Solution:
- In Drip, go to Workflows → Select your workflow
- Verify workflow status is “Active”
- Check trigger conditions (tag applied, form submitted, etc.)
- Verify tag names match exactly (if using tag triggers)
- Test with a fresh test subscriber
- Check workflow analytics to see where subscribers drop off
Issue 5: 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 Ontraport connection
- Drip API rate limit reached
- Form fields don’t match Drip field names
Solution:
- Verify AccessAlly → Drip connection still active
- Edit form settings in AccessAlly
- Ensure form is set to submit to Drip (not Ontraport)
- Check field mappings match Drip field names
- Test form submission and verify contact appears in Drip
- Check Drip activity feed for errors
Issue 6: 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
- Webhook not configured for failed payments
Solution:
- Export active subscriptions from Stripe or PayPal
- Match subscription IDs to WordPress user emails
- Manually update AccessAlly subscription data for each user
- Verify webhook configured in Stripe/PayPal to notify AccessAlly
- Test failed payment handling for each subscription type
Detailed guide: Preserving Subscriptions During Migration
Migration Timeline & Downtime
Total Time Estimate: 5-7 hours (plus 2-3 hours testing)
| Phase | Tasks | Time |
|---|---|---|
| Pre-Migration Setup | Drip account setup, data export, field mapping, tag recreation, CSV preparation | 2-3 hours |
| Staging Setup | Connect Drip to staging, import contacts, update access rules | 1-2 hours |
| Workflow Rebuild | Recreate Ontraport campaigns as Drip workflows | 1-2 hours |
| Form Migration | Replace Ontraport forms with Drip/AccessAlly forms | 30-60 min |
| Staging Testing | Comprehensive testing of all features | 2-3 hours |
| Live Site Switch | Switch CRM, import final data, verify access (DOWNTIME REQUIRED) | 2-3 hours |
| Post-Migration Verification | Complete verification checklist, monitor for issues | 1-2 hours |
Recommended Downtime Window: 2-4 hours on a weekend or low-traffic period for the live site switch
Need Help?
Consider professional migration assistance if:
- You have 1,000+ active members
- You have complex tag-based access rules
- You can’t afford downtime or access issues
- You’re not comfortable with CRM switches
- Your custom fields use complex validation
- You have many Ontraport campaigns to rebuild
Migration Support:
- Review the Migration Support Policy to understand what support is available
- For CRM switch assistance: Contact AccessAlly support
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 migrated correctly (flat structure advantage)
- ✅ Custom fields populated (as text fields)
- ✅ 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
- ✅ Email deliverability verified
- ✅ No critical support tickets after 7 days