ARTICLE CONTENT:
Post-Migration Verification Checklist
Overview
This verification checklist applies to ALL migration types and must be completed within 24-48 hours of migration.
Why verification matters:
- Members may lose access if tags didn’t transfer correctly
- Failed payments may not cancel subscriptions (revenue/security issue)
- Order forms may fail if tags weren’t updated
- Automations may not trigger properly
- Early detection = faster fixes
Time to complete: 2-4 hours (depending on site complexity)
—
Critical Checks (Do Within 24 Hours)
1. Contact Data Integrity
Verify contacts transferred correctly:
☐ Check total contact count
- Count contacts in old CRM: ________ contacts
- Count contacts in new CRM: ________ contacts
- Difference should be 0 or minimal (duplicate handling)
- If difference >5%, investigate missing contacts
☐ Sample 10 random contacts for detailed verification
- Pick 10 contacts at random from old CRM
- Find same contacts in new CRM (search by email)
- Verify ALL fields transferred:
- First name matches
- Last name matches
- Email matches
- Phone number matches (if applicable)
- All custom fields match
- Tags match
- Document any discrepancies
☐ Check for duplicate contacts
- Search new CRM for duplicate emails
- Check if any contacts were imported twice
- Merge duplicates if found
☐ Verify email addresses are valid
- Check for obvious invalid emails ([email protected], etc.)
- Verify format is correct (has @ symbol, domain, etc.)
- Look for blank/missing email fields
☐ Test contact search/lookup
- Search for contacts by email
- Search for contacts by name
- Verify search results return correct contacts
→ Contact Verification Procedures
—
2. Access & Permissions
☐ Test login as member
- Create test member account (or use existing)
- Log out of WordPress admin
- Log in as test member
- Verify login works
- Check if any error messages appear
☐ Verify access to protected content
- For EACH membership level, test:
- Can member access pages they should access?
- Are members blocked from pages they shouldn’t access?
- Do redirect rules work correctly?
- Are drip content timers working?
☐ Check each membership level works
- Level 1: ________________ (Tested? ☐ Yes ☐ No)
- Level 2: ________________ (Tested? ☐ Yes ☐ No)
- Level 3: ________________ (Tested? ☐ Yes ☐ No)
- [Add more levels as needed]
☐ Test upgrade/downgrade paths
- If members can upgrade, test upgrade flow
- If members can downgrade, test downgrade flow
- Verify access changes correctly after upgrade/downgrade
☐ Verify WordPress user roles are correct
- Check WordPress → Users
- Verify members have correct roles (Subscriber, etc.)
- Check that no one has unintended admin access
—
3. Tags & Automation
☐ Verify tags migrated correctly
- List critical tags from old CRM: ________________
- Verify same tags exist in new CRM: ☐ Yes ☐ No
- Check tag names are EXACT (capitalization matters)
- Look for tag category prepending (if migrating from Keap to AC)
☐ Test tag application on members
- Pick 5 members who should have specific tags
- Check old CRM: Document which tags they have
- Check new CRM: Verify same tags are applied
- If tags missing, investigate why
☐ Test automation triggers
- For EACH critical automation, trigger it manually:
- Does the automation start?
- Do emails send correctly?
- Do tags apply as expected?
- Do any errors occur?
☐ Check tag-based access rules on pages
- Visit pages with tag-based access
- Verify AccessAlly is checking for correct tags
- Test both “has tag” and “doesn’t have tag” conditions
☐ Verify tag application on new signups
- Submit test opt-in form
- Check if tags are applied in new CRM
- Verify tags appear quickly (within 1-2 minutes)
- Check if multiple tags apply correctly
—
4. Payments & Subscriptions
☐ Verify active subscriptions linked correctly
- Pick 10 active subscriptions from payment gateway
- Find corresponding contact in new CRM
- Verify subscription is linked:
- Contact has correct product tag
- Subscription ID is recorded in CRM
- Subscription status is “active”
- If subscriptions aren’t linked, run AA Order Update Tool
☐ Test new purchase flow
- Use test/sandbox mode on payment gateway
- Submit test order form purchase
- Verify:
- Payment processes correctly
- Tags are applied in CRM
- Member gains access to content
- Subscription appears in payment gateway
- Welcome email sends (if configured)
☐ Check subscription cancellation works
- Use test subscription from above
- Cancel subscription in payment gateway
- Verify:
- CRM receives cancellation webhook
- Cancellation tags are applied (if configured)
- Member access is revoked (if configured)
- Cancellation email sends (if configured)
☐ 🚨 CRITICAL: Test failed payment handling
- Use test subscription with failing card
- Trigger failed payment (use test card that fails)
- Verify:
- CRM receives failed payment webhook
- Failed payment automation triggers
- Failed payment email sends
- CRITICAL: Subscription cancels after max retries
- CRITICAL: Member loses access after cancellation
Why failed payment testing is critical:
- One customer (Lindsay Lemke, Jan 2026) discovered failed payments weren’t canceling subscriptions
- Members with failed cards kept getting free access for months
- This is a revenue leak AND security issue
- The issue wasn’t discovered until post-migration verification
- Test this explicitly – don’t assume it works
☐ Verify payment gateway connection
- Check AccessAlly → Settings → Payment Gateway
- Verify API credentials are correct
- Test connection (if test button available)
- Check webhook URLs are configured
→ Payment Verification Procedures
—
5. Forms & Opt-ins
☐ Test opt-in form submission
- For EACH opt-in form on your site:
- Submit form with test email
- Verify contact appears in new CRM
- Check tags are applied correctly
- Verify opt-in confirmation email sends (if double opt-in)
- Check if automation triggers correctly
☐ Verify form → CRM connection
- Check AccessAlly → Settings → CRM Connection
- Verify new CRM is selected (not old CRM)
- Test API connection
- Check that form submissions go to new CRM, not old
☐ Test order form purchase
- For EACH order form:
- Submit test purchase (use sandbox mode)
- Verify payment processes
- Check contact created in CRM
- Verify tags applied correctly
- Confirm member gains access
☐ Check auto-login (if enabled)
- Submit opt-in form with auto-login enabled
- Verify member is automatically logged in
- Check if member can access protected content immediately
- Verify no ERROR 422 appears (captcha conflict issue)
☐ Test profile update forms
- Log in as member
- Update profile (change name, email, etc.)
- Verify changes save in WordPress
- Verify changes sync to new CRM
—
Known Issues by Migration Type
CRM Switch Migrations
Common issues to check for:
☐ Tag-Based Access Rules
- Verify ALL pages with tag-based access still work
- Check if any pages are checking for old CRM tags
- Test both positive (has tag) and negative (doesn’t have tag) rules
☐ Order Form Tags
- ⚠️ Order forms may still have old CRM tags
- Migration tool doesn’t auto-update order form tags
- Manually check and update if needed
- → Updating Order Form Tags
☐ Contact ID Mismatches
- Orders/subscriptions may be linked to old CRM contact IDs
- If subscriptions aren’t linked, run AA Order Update Tool
- → Fixing Contact ID Mismatches
☐ Failed Payment Automation
- 🚨 CRITICAL: New CRM may not have failed payment rules configured
- Test failed payment explicitly (see section 4 above)
- Configure failed payment automation in new CRM if needed
Keap → ActiveCampaign Specific
☐ Tag Category Prepending
- 🚨 MAJOR ISSUE: ActiveCampaign prepends category to tag names
- Example: “Access” becomes “Membership – Access”
- This breaks ALL tag-based access rules
- Verify ALL tags in AccessAlly match new AC tag names
- → Tag Remapping Procedures
Drip → AccessAlly Managed Specific
☐ Email Release Mechanism
- Drip releases emails by sequence enrollment
- AccessAlly Managed releases emails by tag application
- Verify email sequences trigger when tags are applied
- Test email delivery timing
☐ Contact ID Sync
- Common issue: Contact IDs from Drip don’t match WordPress users
- Test subscription linkages
- Run AA Order Update Tool if issues found
ActiveCampaign → Ontraport Specific
☐ Failed Payment Subscription Handling
- 🚨 CRITICAL: This specific migration has known failed payment issues
- One customer discovered failed payments weren’t canceling subscriptions
- Test failed payment flow explicitly
- Configure Ontraport failed payment automations
—
Post-Migration Monitoring (First 7 Days)
Continue monitoring these areas for the first week:
Day 1-2: Active Monitoring
☐ Monitor new signups
- Check every new signup gets into new CRM
- Verify tags apply correctly
- Confirm access is granted properly
☐ Monitor support tickets
- Watch for “I can’t access content” tickets
- Watch for “I can’t log in” tickets
- Watch for “My purchase didn’t work” tickets
- Respond quickly and document issues
☐ Check automation logs
- Review new CRM automation activity daily
- Look for failed automations
- Check for error messages
Day 3-7: Passive Monitoring
☐ Weekly subscription check
- Verify all subscriptions still processing correctly
- Check for any failed payments
- Confirm failed payments are handled correctly
☐ Weekly access audit
- Spot check 5-10 random members
- Verify they still have correct access
- Check tags are still applied correctly
☐ Monitor for edge cases
- Watch for unusual scenarios
- Document any unexpected behavior
- Fix issues as they arise
—
Rollback Procedures
When to consider rollback:
- Members can’t access content (widespread issue)
- Order forms aren’t working
- Subscriptions aren’t processing
- Failed payments aren’t canceling (security issue)
- Critical automations aren’t triggering
- >10% of contacts didn’t transfer correctly
How to rollback:
☐ Step 1: Enable maintenance mode
- Put site in maintenance mode immediately
- Prevent new signups/purchases during rollback
☐ Step 2: Restore WordPress backup
- Restore from backup created before migration
- Verify backup restores correctly
- Test site loads after restore
☐ Step 3: Reconnect to old CRM
- Go to AccessAlly → Settings → CRM Connection
- Switch back to old CRM
- Test API connection
- Verify contact sync works
☐ Step 4: Test basic functionality
- Test member login
- Test content access
- Test form submission
- Verify everything works as before migration
☐ Step 5: Disable maintenance mode
- Once verified, disable maintenance mode
- Monitor closely for issues
☐ Step 6: Diagnose migration issues
- Figure out what went wrong
- Fix issues on staging site
- Re-attempt migration when ready
—
Verification Complete Checklist
You can consider your migration verified when ALL of these are checked:
☐ Contact count matches (within 5%)
☐ 10 random contacts verified in detail
☐ All membership levels tested for access
☐ Tags verified and working
☐ Automations triggered and working
☐ New purchases process correctly
☐ Subscription cancellations work
☐ 🚨 Failed payments cancel subscriptions correctly
☐ All forms tested and working
☐ Auto-login works (if enabled)
☐ Order form tags updated (if CRM switch)
☐ No support tickets about access issues
☐ 7-day monitoring period completed
If ANY of the above failed, address the issue before considering migration complete.
—
When to Get Help
Contact support immediately if:
- Members report they can’t access content
- Order forms are failing
- Subscriptions aren’t processing
- Failed payments aren’t canceling subscriptions
- >10% of contacts didn’t transfer
- Critical automations aren’t working
- You’re considering rollback but unsure how
Contact AccessAlly Support for post-migration troubleshooting assistance.
—
Success Indicators
Your migration was successful if:
- ✅ All verification checks passed
- ✅ Members can access content without issues
- ✅ New signups process correctly
- ✅ Automations trigger as expected
- ✅ Payments and subscriptions process correctly
- ✅ Failed payments cancel subscriptions
- ✅ No rollback was needed
- ✅ 7-day monitoring period completed without major issues
- ✅ Support ticket volume is normal
Congratulations! Your migration is complete.
—
Post-Migration Optimization
After verification is complete, consider these optimizations:
- Clean up test contacts from CRM
- Archive old CRM (don’t delete yet – keep for 90 days)
- Update documentation with new CRM info
- Train team on new CRM interface
- Set up new CRM reporting/dashboards
- Review and optimize automations
- Consider additional features in new CRM
—
💡 Pro Tip: Save this verification checklist for future migrations. Having a systematic verification process prevents the #1 migration mistake: assuming everything works without testing. The failed payment issue discovered by Lindsay Lemke wouldn’t have been caught without explicit testing.