ARTICLE CONTENT:
Complete Guide: Migrating from Drip to Keap (Same AccessAlly Site)
⏱️ Estimated Time: 6-8 hours (plus extensive testing)
🛠️ Technical Level: Intermediate-Advanced
💰 Cost Impact: Keap significantly more expensive than Drip ($79-$159+/mo vs $19-122/mo)
📈 Feature Upgrade: Moving from simple email tool to full business CRM
Why Migrate from Drip to Keap?
This is a significant upgrade from Drip (a simple email marketing and e-commerce tool) to Keap (a comprehensive business CRM). Common reasons for this migration:
- Business Growth: Your business has outgrown Drip’s simple feature set
- Need Full CRM Features: You need deals, pipelines, appointment scheduling, and task management
- Advanced Automation: Keap’s campaign builder offers more sophisticated logic than Drip workflows
- Better Contact Management: Need to track detailed contact history, interactions, and lifecycle stages
- Sales Pipeline: Want to manage sales opportunities and move leads through stages
- All-in-One Solution: Consolidate email, CRM, payments, and automation in one platform
- Cost: Keap costs 4-6x more than Drip. Ensure your budget supports this.
- Complexity: Keap has a notoriously steep learning curve. Budget time for training.
- Tag Organization: Drip’s flat tags → Keap’s tag CATEGORIES requires planning.
- Feature Overload: If you’re not using CRM features, you may be overpaying.
What You’ll Need Before Starting
✅ Required Access & Accounts
- WordPress admin access to your AccessAlly site
- Drip admin access (for data export)
- Keap account (must be set up and configured first)
- AccessAlly license that supports CRM switching
- Access to your payment gateway (Stripe or PayPal)
- Staging site for testing (MANDATORY for CRM switches)
📋 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 Drip contact data
- Audit of current tags, custom fields, and workflows
- CRITICAL: Plan your tag category structure for Keap
- Data mapping spreadsheet (contacts, tags, custom fields)
- Request 2-site exception from AccessAlly support
- Budget 6-8 hours for the migration process
CRM switches are HIGH-RISK. You MUST test on a staging site before touching your live site. Contact AccessAlly support for a temporary 2-site license exception to enable Keap on staging while your live site still runs Drip.
Phase 1: Pre-Migration Setup (3-4 hours)
Step 1: Set Up Your Keap Account
If you haven’t already set up Keap:
- Sign up for Keap (choose appropriate plan for your contact count)
- Complete basic account setup (company info, timezone, sender email)
- Configure email deliverability (SPF, DKIM, sender domain authentication)
- Send test emails to verify deliverability
- Familiarize yourself with Keap’s interface (it’s VERY different from Drip)
Step 2: Export Your Data from Drip
- Log into your Drip account
- Go to Settings → Account
- Click “Export All Subscribers”
- Drip will email you a CSV file (may take 15-30 minutes for large lists)
- Download and open the CSV file
What’s included in the Drip export:
- Email addresses
- First and last names
- Custom fields (all stored as text in Drip)
- Tags (flat list, no categories)
- Subscription status (active/unsubscribed)
- Opt-in timestamps
What’s NOT included (must be rebuilt):
- Drip workflows → Must rebuild as Keap campaigns
- Email templates
- Form designs
- Automation rules
- E-commerce data (beyond what’s in custom fields)
Step 3: Plan Your Tag Category Structure (CRITICAL STEP)
This is the biggest structural change in your migration: Drip uses flat tags, but Keap organizes tags into categories.
Example transformation:
| Drip Tag (Flat) | Keap Category | Keap Tag |
|---|---|---|
| Gold Member | Membership | Gold Member |
| Silver Member | Membership | Silver Member |
| Purchased Course A | Products | Course A |
| Lead – Interested in Course B | Lead Status | Interested in Course B |
| VIP Customer | Customer Type | VIP |
Recommended Keap tag categories:
- Membership: For membership level tags
- Products: For purchased products/courses
- Lead Status: For lead tracking and segmentation
- Customer Type: For customer segmentation
- Engagement: For engagement tracking
- Lifecycle Stage: For customer journey stages
Step 4: Create a Data Mapping Document
Create a comprehensive data mapping spreadsheet. Use the Data Mapping Reference Guide for complete instructions.
Drip → Keap Field Mapping
| Drip Field | Keap Field | Notes |
|---|---|---|
| Required field | ||
| First Name | _FirstName | Note underscore prefix |
| Last Name | _LastName | Note underscore prefix |
| Tags (flat) | Category: Tag | Must organize into categories |
| Custom Field (text) | _CustomField | Assign proper type in Keap |
Custom Field Type Assignment
Important: Drip stores all custom fields as text (no validation). Keap has proper field types. Assign correct types during Keap setup:
| Data Type | Drip Storage | Keap Field Type |
|---|---|---|
| Phone Number | Text | Phone (with validation) |
| Date | Text (formatted string) | Date (proper date type) |
| Currency Amount | Text | Whole Number or Decimal |
| Yes/No | Text (“yes”/”no”) | Checkbox or Radio |
| Multiple Choice | Text | Dropdown or List Box |
Step 5: Create Tag Categories and Tags in Keap
- Log into Keap
- Go to CRM → Tags
- Create your tag categories first (Membership, Products, etc.)
- Within each category, create the individual tags
- Use your data mapping spreadsheet to ensure every Drip tag has a Keap home
Step 6: Create Custom Fields in Keap
- Go to CRM → Settings → Custom Fields
- For each Drip custom field, create a corresponding Keap field
- Assign proper field types (not just “text”)
- Note that Keap fields are prefixed with underscore (e.g., _MemberLevel)
- Document field names for CSV mapping
Keap custom field naming conventions:
- All custom fields start with underscore:
_FieldName - No spaces in field names (use underscores:
_Member_Level) - Case-sensitive
- Must match exactly in your import CSV
Step 7: Connect Keap to AccessAlly (Staging Site First)
- On your STAGING site, go to AccessAlly → Settings → General
- Under “CRM Integration,” change from Drip to Keap
- Enter your Keap API credentials:
- Keap App ID
- API Key (found in Keap → Admin → Settings → Application)
- Click Save and Test Connection
- Verify connection is successful
Step 8: Prepare Your CSV for Import
Transform your Drip export CSV to match Keap’s format:
Required columns:
email– Email address (required)_FirstName– First name (note underscore)_LastName– Last nametags– Comma-separated list of Keap tags (with categories if needed)_CustomField– Custom field columns (use Keap field names with underscores)
CSV transformation steps:
- Open your Drip export in Excel or Google Sheets
- Rename columns to match Keap format:
- Drip “Email” →
email - Drip “First Name” →
_FirstName - Drip “Last Name” →
_LastName - Custom fields → Add underscores (e.g., “Member Level” →
_MemberLevel)
- Drip “Email” →
- For tags, update tag names to include categories if needed (or handle in Keap after import)
- Ensure tags are comma-separated in one column
- Convert data types where needed (dates, numbers)
- Remove unsubscribed contacts OR import with special tag
- Save as: “drip-to-keap-import.csv”
Phase 2: Migration Execution (2-3 hours)
Step 9: Download and Activate Migration Wizard Plugin
- On your STAGING site, 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 instructions: Using the AccessAlly Migration Wizard Plugin
Step 10: Import Contacts via Migration Wizard
- On STAGING site, go to AccessAlly → Migration Wizard
- Click “Import from CSV”
- Upload your prepared CSV file
- Map CSV columns to Keap fields
- Choose import options:
- Update existing users: Check if members may already exist
- Create users in CRM: Check (creates contacts in Keap)
- Apply tags: Check (applies tags from CSV)
- Send welcome email: UNCHECK (email members separately)
- Click “Start Import”
- Monitor progress (processes ~100-200 contacts per minute)
What happens during import:
- WordPress user accounts created (if they don’t exist)
- Contacts created in Keap with proper field types
- Tags applied (organized into categories you created)
- CRITICAL: Contact ID from Keap stored in WordPress user meta
- This Contact ID linking is essential for access control
The most common failure point in CRM switches is Contact ID mismatches. AccessAlly MUST link each WordPress user to their Keap contact ID. If this linking fails, members lose access even if they have correct tags. Verify this thoroughly on staging.
Step 11: Update ALL AccessAlly Tag References
AccessAlly stores tag names from your old CRM. After switching to Keap, you need to update these references:
- Go through every AccessAlly module with tag-based access
- Check “Who Can Access” settings
- Update tag names to match Keap tags (exact spelling, case-sensitive)
- Update protected page access rules
- Update order form tag assignments
- Update email wizard tag triggers
- Update automation trigger rules
- Update membership level tag associations
Critical areas to check:
- Module access rules
- Page protection settings
- Course/lesson access
- Order form actions (tag on purchase)
- Email sequences (tag-based triggers)
- Automation workflows
- Membership tiers
Step 12: Link Payment Gateway Subscriptions
If you have paid members with active subscriptions, link their Stripe/PayPal subscriptions to their WordPress accounts:
- Export active subscriptions from Stripe or PayPal
- Match subscription IDs to member email addresses
- Verify subscription IDs stored correctly in AccessAlly user profiles
- Test that subscription data flows properly
- CRITICAL: Test failed payment handling
Detailed guide: Preserving Subscriptions During Migration
Step 13: Rebuild Drip Workflows as Keap Campaigns
Drip workflows cannot be automatically migrated. You must rebuild them in Keap’s campaign builder.
Drip → Keap Feature Mapping
| Drip Feature | Keap Equivalent | Notes |
|---|---|---|
| Workflow | Campaign | More powerful but more complex |
| Tag trigger | Campaign goal or trigger | Update tag names! |
| Email sequence | Campaign with email sequence | Similar concept |
| Time delay | Delay timer in campaign | More granular options |
| Conditional split | Decision diamond | More conditions available |
| Goals | Campaign goals | Similar concept |
NEW Features You Gain with Keap
- Deals & Pipelines: Track sales opportunities through stages
- Appointments: Integrated appointment scheduling and reminders
- Tasks: Assign follow-up tasks to team members
- Notes: Track detailed contact interaction history
- Lead Scoring: More sophisticated scoring than Drip
- SMS: Text message marketing (add-on)
- Advanced Segmentation: More powerful filtering and segmentation
Budget time to learn these features – they’re powerful but complex.
Common Drip workflows to rebuild:
- Welcome sequences: Rebuild as Keap campaigns with email sequences
- Tag-based automations: Use Keap campaign triggers
- Purchase follow-ups: Set up in order form campaigns
- Re-engagement campaigns: Use Keap’s campaign builder
- Lead nurture sequences: Build as multi-step campaigns
Step 14: Migrate Forms
Replace Drip forms with Keap forms or AccessAlly forms that submit to Keap:
Option 1: Use Keap Forms
- Create forms in Keap → Marketing → Web Forms
- Embed Keap form code on your WordPress pages
- Style to match your site
- Set up tag assignments and campaign triggers
Option 2: Use AccessAlly Forms (Recommended)
- Create forms in AccessAlly → Opt-in Forms or Order Forms
- Configure to submit to Keap
- Better WordPress integration
- More styling control
- Unified admin experience
Phase 3: Go-Live and Verification (2-3 hours)
Step 15: Extensive Staging Testing
Because of the complexity of moving from Drip to Keap, testing is CRITICAL:
- ✅ Test login for members with different membership levels
- ✅ Verify EACH membership level accesses correct content
- ✅ Check EVERY module access rule works
- ✅ Test EVERY protected page
- ✅ Verify forms submit and apply correct tags in correct categories
- ✅ Test purchase flow end-to-end
- ✅ Verify automation triggers fire correctly
- ✅ Test subscription linking and failed payment handling
- ✅ Verify Contact IDs linking properly (MOST CRITICAL)
- ✅ Test email deliverability from Keap
Test Contact ID linking for 5-10 random members:
- Pick a WordPress user
- Check their user meta for “keap_contact_id”
- Search Keap for that Contact ID
- Verify it’s the correct contact (matching email)
- Add a tag to that contact in Keap
- Verify AccessAlly recognizes the tag and grants appropriate access
If Contact IDs are mismatched, members will lose access even with correct tags.
Step 16: Switch Live Site to Keap
Only after staging tests pass completely:
- Schedule 3-4 hour downtime window (CRM switches require downtime)
- Communicate downtime to members in advance
- Put site in maintenance mode
- Create fresh WordPress backup
- Export final Drip data (capture any new contacts since staging)
- Switch AccessAlly to Keap on live site (same steps as staging)
- Import any new contacts via Migration Wizard
- Verify access rules and tags on live site
- Test login for 3-5 different membership levels
- Take site out of maintenance mode
- Monitor intensely for first 2 hours
Step 17: Complete Post-Migration Verification
Work through the Post-Migration Verification Checklist.
Pay special attention to:
✅ Contact Data Integrity
- Verify total contact count matches Drip export
- Check 10 random contacts in Keap for complete data
- Verify Contact IDs stored in WordPress
- Check for duplicate contacts
- Verify custom fields populated with correct data types
✅ Tags & Categories
- Verify tags organized into correct Keap categories
- Check tag names match AccessAlly access rules exactly
- Test tag-based access rules for each membership level
- Verify tag assignment via forms works
✅ Access & Permissions
- Test login as multiple member types
- Verify access to protected content
- Check membership tier access
- Test course/lesson unlocking
- Verify drip content releases work
✅ Forms & Automations
- Test each opt-in form submission
- Verify form data reaches Keap
- Test order form purchases
- Confirm post-purchase campaigns fire in Keap
- 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
Step 18: Monitor for 7 Days
Don’t cancel Drip immediately. Monitor for issues during the first week:
- Days 1-2: Watch for immediate access issues, login problems, Contact ID issues
- Days 3-5: Monitor form submissions, automation triggers, email deliverability
- Days 6-7: Check subscription/payment handling, campaign performance
What to monitor:
- Member support tickets (migration-related confusion?)
- Login errors or access issues
- Payment failures or subscription problems
- Form submission success rates
- Email deliverability from Keap
- Campaign trigger verification
Step 19: Clean Up After Migration
Once migration is stable (7+ days):
- Deactivate and delete Migration Wizard plugin
- Export final Drip data for records
- Downgrade or cancel Drip (keep 30 days as backup)
- Remove staging site’s 2-site exception (contact AccessAlly support)
- Update member documentation with Keap-related changes
- Train team on Keap features and interface
Troubleshooting Common Issues
Issue 1: Members Have Tags But Can’t Access Content (MOST COMMON)
Symptoms: Members have correct tags in Keap but getting “insufficient permissions” errors
Causes:
- AccessAlly access rules reference old Drip tag names
- Tag names don’t match exactly (case-sensitive)
- Contact ID linking issue
- Tag category not specified in access rule
Solution:
- Check the member’s tags in Keap (note exact spelling and category)
- Go to the module or page they can’t access
- Check “Who Can Access” settings
- Update tag name to EXACTLY match Keap (including case)
- If Contact ID issue, verify WordPress user meta has “keap_contact_id”
- Test access again
Issue 2: Tags Imported But Not Organized into Categories
Symptoms: All tags imported into Keap but sitting as uncategorized tags
Causes:
- Tags created before categories existed
- CSV didn’t specify category structure
- Manual reorganization needed
Solution:
- Go to Keap → CRM → Tags
- Create your category structure if not already created
- Manually drag/drop tags into appropriate categories
- This is tedious but only done once
- Update AccessAlly tag references if category impacts tag name
Issue 3: Custom Fields Missing or Wrong Data Type
Symptoms: Custom field data didn’t migrate or showing as text when should be number/date
Causes:
- Custom fields not created in Keap before import
- Field names don’t match (missing underscore prefix)
- Wrong field type assigned (text instead of number/date)
- Data format incompatible (Drip text dates → Keap date field)
Solution:
- Verify custom fields exist in Keap with correct types
- Check field names have underscore prefix (_FieldName)
- For data type issues, export from Keap, fix in spreadsheet, re-import
- Use “Update existing contacts” option to overwrite field data
- Test a few contacts to verify data populated correctly
Issue 4: Keap Email Deliverability Issues
Symptoms: Emails from Keap going to spam or not delivering
Causes:
- SPF/DKIM not configured for Keap
- Sender domain not authenticated
- Keap IP warming needed (new account)
- From address doesn’t match authenticated domain
Solution:
- Verify SPF and DKIM records in your DNS
- Go to Keap → Settings → Email Settings → Sender Authentication
- Complete domain authentication process
- Start with small email batches to warm up IP reputation
- Test deliverability with Mail Tester (mail-tester.com)
- Ensure From address matches authenticated domain
Issue 5: Campaigns Not Triggering
Symptoms: Keap campaigns built but not triggering when contacts meet criteria
Causes:
- Campaign not published (still in draft)
- Trigger conditions don’t match (tag names wrong)
- Contact already passed trigger point
- Campaign goal sequence preventing re-entry
Solution:
- Check campaign is Published (not Draft)
- Verify trigger tag names match exactly
- For testing, create NEW test contact to trigger campaign
- Check campaign performance report for errors
- Review Keap documentation on campaign goals and sequences
Issue 6: Overwhelming Complexity of Keap Interface
Symptoms: Team struggling to use Keap, can’t find features, making mistakes
This is normal: Keap has a notoriously steep learning curve compared to Drip’s simplicity.
Solutions:
- Schedule Keap training sessions (Keap offers free training)
- Use Keap University (free courses)
- Start with basic features, add complexity gradually
- Create internal documentation for common tasks
- Consider hiring Keap consultant for initial setup help
- Be patient – it takes 2-3 months to become proficient
Migration Timeline & Downtime
Total Time Estimate: 6-8 hours (plus 2-3 hours testing)
| Phase | Tasks | Time |
|---|---|---|
| Pre-Migration Setup | Keap account setup, tag category planning, data mapping, field creation | 3-4 hours |
| Data Export & CSV Prep | Export from Drip, transform CSV format, field mapping | 1-2 hours |
| Staging Import & Setup | Connect Keap to staging, import contacts, update tag references | 2-3 hours |
| Campaign Rebuild | Rebuild Drip workflows as Keap campaigns | 2-4 hours |
| Staging Testing | Test all access rules, forms, campaigns, subscriptions | 2-3 hours |
| Live Site Switch | Switch live site to Keap, import final data, verify access | 2-3 hours |
Recommended Downtime Window: 3-4 hours on a weekend or low-traffic period for live site switch
Need Help?
Migration Support:
- Review the Migration Support Policy
- For CRM switch assistance: Contact AccessAlly support
- Consider professional migration help for complex sites
Consider Professional Help If:
- You have 1,000+ active members
- You have complex tag-based access rules across many modules
- You can’t afford 3-4 hours of downtime
- Your team is unfamiliar with Keap
- You need training on leveraging Keap’s advanced features
Related Guides:
- Pre-Migration Checklist
- Post-Migration Verification
- Data Mapping Reference
- How to Switch CRMs and Keep Same Site
- Preserving Subscriptions During Migration
- Drip → AccessAlly Managed Migration (alternative to Keap)
- ✅ All contacts imported to Keap with correct data
- ✅ Tags organized into proper Keap categories
- ✅ Custom fields created with proper types (not all text)
- ✅ Contact IDs properly linked in WordPress
- ✅ ALL AccessAlly tag references updated
- ✅ Member login working for all membership levels
- ✅ Content access rules working correctly
- ✅ Forms submitting to Keap with correct tags
- ✅ Core campaigns rebuilt and tested
- ✅ Subscriptions linked and failed payment handling verified
- ✅ Email deliverability tested and working
- ✅ No critical support tickets after 7 days
- ✅ Team trained on basic Keap features