1. Home
  2. Migrations
  3. Complete Guide: Migrating from WishList Member to AccessAlly

Complete Guide: Migrating from WishList Member to AccessAlly

ARTICLE CONTENT:

Complete Guide: Migrating from WishList Member to AccessAlly

📊 Migration Complexity: MEDIUM
⏱️ Estimated Time: 15-25 hours (including setup, migration, and testing)
🛠️ Technical Level: Intermediate
💰 Cost Impact: AccessAlly requires a CRM subscription (varies by provider) + AccessAlly license ($997-$1,997/year)

Why Migrate from WishList Member to AccessAlly?

Common reasons for migrating from WishList Member to AccessAlly:

  • More Powerful Automation: AccessAlly integrates deeply with marketing automation platforms (ActiveCampaign, Keap, Ontraport, Drip, Kit) for sophisticated member journeys
  • Better Payment Integration: Native Stripe integration with robust subscription management and dunning
  • Advanced Course Builder: Visual course builder with drip content, quizzes, certificates, and progress tracking
  • Sales Funnel Tools: Built-in order forms, upsells, one-time offers, and abandoned cart recovery
  • CRM-Based Access Control: Tags in your CRM control member access (more flexible than WishList levels)
  • Professional Support: Dedicated support team vs. community-based support
  • Active Development: Regular updates and new features vs. WishList’s slower development pace
⚠️ Important Consideration: AccessAlly requires a CRM subscription (ActiveCampaign, Keap, Ontraport, Drip, Kit, or AccessAlly Managed CRM). Budget for both AccessAlly license ($997-$1,997/year) and CRM costs ($29-$299/month depending on provider and contact count).

What You’ll Need Before Starting

✅ Required Access & Accounts

  • WordPress admin access to your site
  • WishList Member admin access
  • AccessAlly license (Pro or higher for full features)
  • CRM account (choose from ActiveCampaign, Keap, Ontraport, Drip, Kit, or AccessAlly Managed)
  • Access to your payment gateway (Stripe or PayPal)
  • FTP/SFTP access for backups

📋 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 WishList Member data (members, levels, content protection rules)
  • Audit of your current member count and membership levels
  • Data mapping spreadsheet (membership levels → CRM tags)
  • Plan for content protection strategy (WishList levels → AccessAlly modules/tags)
  • Staging site setup for testing (HIGHLY RECOMMENDED)
  • Downtime plan and member communication
  • Choose your CRM platform (this is a CRITICAL decision)
🚨 CRITICAL: Choose Your CRM First
AccessAlly REQUIRES a CRM. You must choose and set up your CRM before starting the migration. This decision impacts your entire migration process. See Choosing Between AccessAlly Managed and Third-Party CRMs for guidance.

Understanding the Key Differences

WishList Member vs. AccessAlly: Architecture Comparison

Feature WishList Member AccessAlly
Access Control WordPress membership levels CRM tags
Member Data Storage WordPress database CRM (synced to WordPress)
Content Protection Level-based (one level per member) Tag-based (multiple tags, flexible)
Sequential Upgrades Built-in level hierarchy Tag management (add/remove tags)
Drip Content Basic (date or level-based) Advanced (tag-based, completion-based)
Payment Integration Multiple gateways (built-in) Stripe (primary), PayPal (basic)
Email/Automation Basic email notifications Full CRM automation
Course Builder Basic (protect posts/pages) Advanced (modules, progress tracking)
🟡 KEY ARCHITECTURAL DIFFERENCE

WishList Member: Self-contained WordPress plugin. Members exist only in WordPress. Levels are WordPress-based.
AccessAlly: WordPress plugin + CRM integration. Members exist in CRM first, synced to WordPress. Access controlled by CRM tags.

Impact: You’re not just switching plugins – you’re moving to a CRM-first architecture. This is more powerful but requires understanding CRM concepts.


Phase 1: Planning & Setup (4-6 hours)

Step 1: Choose and Set Up Your CRM

AccessAlly requires a CRM. Choose based on your needs and budget:

CRM Best For Pricing
AccessAlly Managed Simple setup, no CRM experience needed Included with Pro plan
ActiveCampaign Email marketing focused, easy to learn $29-149/mo
Keap All-in-one CRM, sales pipeline, invoicing $169-299/mo
Ontraport Advanced automation, business management $79-297/mo
Drip E-commerce focus, simple interface $39-1,599/mo
Kit (ConvertKit) Creator-focused, simple email marketing $25-100/mo

Setup your chosen CRM:

  1. Sign up for your chosen CRM account
  2. Complete basic account setup (company info, timezone, sender email)
  3. Configure email deliverability (SPF, DKIM records)
  4. Test email sending (send yourself a test campaign)
  5. Create your first form and test it
  6. Familiarize yourself with tags (this is how access control works)
💡 Recommendation: If you’re new to CRMs, start with AccessAlly Managed CRM or ActiveCampaign. Both are easier to learn than Keap or Ontraport.

Step 2: Map WishList Levels to AccessAlly Tags

WishList uses membership levels. AccessAlly uses CRM tags. You must map each level to one or more tags.

🟡 CRITICAL ARCHITECTURE CHANGE

WishList Member: Each member has ONE membership level (Gold, Silver, Bronze, etc.)
AccessAlly: Each member can have MULTIPLE tags (more flexible!)

Example:
WishList: Member is “Gold Level”
AccessAlly: Member has tags “Gold Member”, “Course 1 Access”, “Email Sequence 1”, etc.

Create a level-to-tag mapping spreadsheet:

WishList Level AccessAlly Tag(s) What Content It Protects Member Count
Free Member Free Member Free course modules 1-3 500
Bronze Member Bronze Member Basic course (modules 1-5) 150
Silver Member Silver Member Premium course (modules 1-10) 75
Gold Member Gold Member, VIP Access All courses + bonuses 25
💡 Pro Tip: Keep tag names simple and descriptive. Use the same naming as your WishList levels initially – this makes migration easier. You can create more sophisticated tag structures later.

Step 3: Export Your WishList Member Data

  1. Log into WordPress admin
  2. Go to WishList Member → Members
  3. For each membership level, export members:
    • Select the membership level
    • Click Export Members
    • Choose CSV format
    • Include all fields (username, email, name, registration date)
  4. Repeat for each membership level
  5. Consolidate all exports into one master CSV
  6. Add a “Tags” column based on your level-to-tag mapping

Expected WishList export fields:

  • Username
  • Email
  • First Name
  • Last Name
  • Membership Level
  • Registration Date
  • Status (Active, Cancelled, Expired)

Transform to AccessAlly format:

  • Email – Required
  • First Name – Standard
  • Last Name – Standard
  • Tags – Comma-separated list (based on WishList level)
  • Registration Date – Keep for reference
  • Remove inactive/expired members (or tag separately as “Expired”)

Step 4: Audit Your Content Protection Strategy

WishList protects content by level. AccessAlly protects content by tags. Plan your protection strategy.

WishList content protection types:

  • Posts/pages protected by level
  • Categories protected by level
  • Custom post types protected by level
  • Shortcode-protected content within pages

AccessAlly protection options:

  • Modules: Group related content (recommended for courses)
  • Page-level protection: Protect individual pages/posts by tag
  • Shortcode protection: Protect content blocks within pages
  • Category protection: Protect entire categories
💡 Pro Tip: Use AccessAlly Modules for course content. They provide better organization, progress tracking, and drip content features than simple page protection.

Create a content protection mapping spreadsheet:

Content Current WishList Protection AccessAlly Protection Method Required Tag(s)
Module 1-3 Free Member level AccessAlly Module Free Member
Module 4-5 Bronze Member level AccessAlly Module Bronze Member
Module 6-10 Silver Member level AccessAlly Module Silver Member
Bonus resources Gold Member level Page protection Gold Member

Step 5: Install AccessAlly and Connect to CRM

🚨 DO THIS ON STAGING FIRST: Never install AccessAlly on your live site without testing on staging. Set up a staging environment first.
  1. On your STAGING site, download AccessAlly plugin from your account
  2. Go to WordPress Admin → Plugins → Add New → Upload Plugin
  3. Upload and activate AccessAlly
  4. Go to AccessAlly → Settings → General
  5. Enter your AccessAlly license key
  6. Under “CRM Integration,” select your chosen CRM
  7. Enter CRM API credentials:
    • ActiveCampaign: API URL + API Key
    • Keap: App Name + API Key
    • Ontraport: App ID + API Key
    • Drip: API Token + Account ID
    • Kit: API Key + API Secret
    • AccessAlly Managed: Automatic setup
  8. Click Save and Test Connection
  9. Verify connection is successful

Step 6: Create Tags in Your CRM

Create all tags you mapped in Step 2 in your CRM before importing members.

  1. Log into your CRM
  2. Navigate to the tags section (varies by CRM)
  3. Create each tag from your mapping spreadsheet
  4. Use exact tag names as planned
  5. If using Keap: organize tags into categories (Membership, Course Access, etc.)

Recommended tag structure:

  • Free Member
  • Bronze Member
  • Silver Member
  • Gold Member
  • VIP Access (if applicable)
  • Expired Member (for cancelled/expired from WishList)

Phase 2: Migration & Setup (6-8 hours)

Step 7: Import Members via AccessAlly Migration Wizard

  1. On your STAGING site, go to AccessAlly → Migration Wizard
  2. If you don’t see Migration Wizard, download and activate it separately (instructions)
  3. Click “Import from CSV”
  4. Upload your prepared CSV file (consolidated WishList export with Tags column)
  5. Map CSV columns to CRM fields:
    • Email → Email
    • First Name → First Name
    • Last Name → Last Name
    • Tags → Tags
  6. Choose import options:
    • Create users in WordPress: Check (creates WP user accounts)
    • Create contacts in CRM: Check (creates CRM contacts)
    • Add tags: Check (applies tags from CSV)
    • Send welcome email: Uncheck for migration (avoid confusion)
  7. Click “Start Import”
  8. Monitor progress (processes ~100-200 contacts per minute)

What happens during import:

  • WordPress user accounts created (with random secure passwords)
  • Contacts created in CRM with all data
  • Tags applied in CRM based on old WishList levels
  • Contact ID from CRM stored in WordPress user meta (CRITICAL for access)
  • Members can log in immediately (will need to reset password)
⏱️ Time Estimate: For 500 members, expect 5-10 minutes. For 5,000 members, expect 30-60 minutes. Monitor for errors.

Step 8: Verify Contact ID Linking

This is THE most critical step. If Contact IDs aren’t linked correctly, access control won’t work.

  1. In WordPress, go to Users
  2. Pick a random member and click Edit
  3. Scroll down to user meta or use a plugin like “User Meta Manager”
  4. Check for “contact_id” or “[crm_name]_contact_id” (e.g., “activecampaign_contact_id”)
  5. Copy that Contact ID number
  6. Search your CRM for that Contact ID
  7. Verify it’s the correct contact (matching email)
  8. Add a test tag to that contact in CRM
  9. Refresh WordPress and verify the tag syncs
  10. Repeat for 5-10 random members to confirm
🚨 CRITICAL: If Contact IDs aren’t linking, members will NOT get access even with correct tags. Fix this before proceeding. Contact AccessAlly support if issues persist.

Step 9: Recreate Content Protection with AccessAlly

Now recreate your content protection using AccessAlly’s system. Use your mapping spreadsheet from Step 4.

Option 1: Use AccessAlly Modules (Recommended for Courses)

  1. Go to AccessAlly → Modules
  2. Click Add New Module
  3. Name it (e.g., “Bronze Member Course”)
  4. Under “Who Can Access,” add the required tag (e.g., “Bronze Member”)
  5. Add your course content:
    • Add existing pages/posts
    • Or create new lessons within the module
  6. Set up drip content (if desired):
    • Release by date
    • Release by tag
    • Release on completion
  7. Configure progress tracking
  8. Publish the module
  9. Repeat for each membership level’s content

Option 2: Page-Level Protection (For Simple Sites)

  1. Edit a page or post in WordPress
  2. Scroll to “AccessAlly Page Protection” meta box
  3. Enable protection
  4. Select protection type: “Must have tag”
  5. Choose the required tag (e.g., “Silver Member”)
  6. Set redirect URL for unauthorized users
  7. Update the page
  8. Repeat for all protected content
💡 Pro Tip: If you have sequential course content (Module 1, 2, 3…), use AccessAlly Modules. They provide better UX with progress tracking, navigation, and drip content. Save simple page protection for non-course content.

Step 10: Handle Sequential Upgrades

WishList Member has built-in support for sequential upgrades (Bronze → Silver → Gold). AccessAlly handles this differently.

🟡 SEQUENTIAL UPGRADES WORK DIFFERENTLY

WishList Member: When member upgrades from Silver → Gold, they automatically keep Silver access.
AccessAlly: You control this with tags. When upgrading, either:

  • Option A: Add Gold tag, KEEP Silver tag (cumulative access)
  • Option B: Add Gold tag, REMOVE Silver tag, give Gold access to everything

Option A: Cumulative Tags (Most Common)

  • Bronze members have: “Bronze Member” tag
  • Silver members have: “Bronze Member” + “Silver Member” tags
  • Gold members have: “Bronze Member” + “Silver Member” + “Gold Member” tags
  • Each module/page checks for the LOWEST required tag

Option B: Single Tag with Inclusive Access

  • Bronze members have: “Bronze Member” tag → Access to Bronze content only
  • Silver members have: “Silver Member” tag → Access to Bronze + Silver content
  • Gold members have: “Gold Member” tag → Access to ALL content
  • Each module/page checks for ANY applicable tag (Gold OR Silver OR Bronze)
💡 Recommendation: Use Option B (Single Tag) for simplicity. When someone upgrades from Silver to Gold, remove “Silver Member” and add “Gold Member”. Configure Gold content to accept “Gold Member OR Silver Member OR Bronze Member” tags.

Step 11: Configure Payment Integration

WishList Member integrates with many payment gateways. AccessAlly primarily uses Stripe.

If you use Stripe:

  1. Go to AccessAlly → Settings → Payment Gateway
  2. Select Stripe
  3. Enter Stripe API keys (from your Stripe dashboard)
  4. Choose webhook setup method
  5. Test connection
  6. Create AccessAlly order forms for each product

If you use PayPal:

  1. AccessAlly supports PayPal but Stripe is recommended
  2. Consider migrating to Stripe for better features
  3. If staying with PayPal, configure PayPal IPN settings

For existing subscriptions:

  • Stripe subscriptions can be preserved (see Step 12)
  • Other gateways may require manual subscription recreation
  • Plan communication strategy for members

If you have active paying members with subscriptions, you must link their payment data.

🚨 CRITICAL FOR PAID MEMBERSHIPS
If you don’t link subscription IDs correctly, failed payments won’t cancel member access. This causes revenue leaks.

For Stripe subscriptions:

  1. Export subscription list from Stripe Dashboard
  2. Match subscription IDs to member email addresses
  3. Use AccessAlly’s subscription import tool or manual linking
  4. Verify failed payment webhooks are configured
  5. Test that cancellation removes access (test on staging!)

Detailed guide: Preserving Subscriptions During Migration

Step 13: Migrate Drip Content Settings

If you used WishList’s drip content features, recreate them in AccessAlly.

WishList drip options:

  • Release X days after membership registration
  • Release on specific date
  • Release based on level

AccessAlly drip options (more powerful):

  • Release X days after tag added
  • Release on specific date
  • Release when previous lesson completed
  • Release when specific tag applied
  • Release based on custom field value

Migration approach:

  1. Document your current WishList drip settings
  2. For each module in AccessAlly, configure drip settings
  3. Use “X days after tag added” to match WishList’s “X days after registration”
  4. Test with a test member account

Step 14: Recreate Login/Registration Pages

WishList Member has its own login and registration pages. AccessAlly uses WordPress login with enhancements.

  1. Create a new page: “Login”
  2. Add AccessAlly’s login form shortcode: [accessally_login]
  3. Customize the form design (AccessAlly has styling options)
  4. Add password reset functionality: [accessally_password_reset]
  5. Create registration page (if allowing self-registration)
  6. Use AccessAlly order forms for paid registrations
  7. Update navigation menus to link to new login page

Phase 3: Testing & Go-Live (4-5 hours)

Step 15: Thoroughly Test on Staging

Critical tests to perform on staging before going live:

✅ Member Access Tests
  • Log in as each membership level (Free, Bronze, Silver, Gold)
  • Verify correct content is visible for each level
  • Verify restricted content is properly hidden
  • Test that unauthorized access redirects correctly
  • Check all modules load and display correctly
✅ Tag-Based Access Tests
  • Pick a test member in WordPress
  • Add a tag in CRM
  • Verify tag syncs to WordPress (may take 1-2 minutes)
  • Verify access granted to content requiring that tag
  • Remove tag in CRM
  • Verify access removed
✅ Login & Registration Tests
  • Test member login with correct credentials
  • Test wrong password (verify error message)
  • Test password reset flow
  • Test new member registration (if applicable)
  • Test auto-login after purchase (if using order forms)
✅ Payment & Subscription Tests
  • Process test purchase via order form
  • Verify tags applied correctly
  • Verify access granted immediately
  • Test subscription cancellation (on staging subscription)
  • Verify access removed after cancellation
  • Test failed payment handling (Stripe test mode)
✅ Drip Content Tests
  • Create test member with “Bronze Member” tag
  • Verify only appropriate modules/lessons are accessible
  • Manually adjust drip dates to trigger next lesson
  • Verify drip content unlocks as scheduled
💡 Testing Tip: Have someone ELSE test the member experience. You’re too familiar with your site – fresh eyes catch issues you’ll miss. Give them test credentials and a checklist.

Step 16: Deactivate WishList Member on Staging

Once AccessAlly is working correctly on staging, deactivate WishList Member to see if anything breaks.

  1. Create a fresh backup of staging site
  2. Go to Plugins → Installed Plugins
  3. Deactivate WishList Member (don’t delete yet)
  4. Test EVERYTHING again (all member access, login, etc.)
  5. If issues occur, identify and fix them
  6. Once stable without WishList, proceed to go-live
💡 Pro Tip: Keep WishList Member installed but deactivated for 30 days after migration. This gives you a quick rollback option if critical issues emerge.

Step 17: Communicate with Members

Before going live, communicate the migration to your members.

Email your members 3-5 days before migration:

  • Explain you’re upgrading to a better membership platform
  • Mention benefits (better course experience, mobile-friendly, etc.)
  • Note that they’ll need to reset their password
  • Provide a specific date/time for the migration
  • Include support contact info for issues

During migration downtime:

  • Put site in maintenance mode with clear message
  • Estimate when site will be back online
  • Provide emergency contact method if needed

After migration:

  • Send follow-up email with password reset instructions
  • Provide quick-start guide for new platform
  • Highlight any new features they can use
  • Offer support for anyone having issues

Step 18: Go Live on Production

When staging is fully tested, migrate your live site:

  1. Schedule downtime (recommend 3-4 hour window on weekend or low-traffic period)
  2. Send pre-migration announcement email to members
  3. Put site in maintenance mode
  4. Create fresh WordPress backup
  5. Export final WishList data (capture any new members since staging)
  6. Install and activate AccessAlly on live site
  7. Connect to CRM (same process as staging)
  8. Import ALL members via Migration Wizard (including any new ones)
  9. Verify Contact ID linking (spot-check 5-10 members)
  10. Configure content protection (should match staging exactly)
  11. Link payment subscriptions (CRITICAL step)
  12. Test login as multiple member types
  13. Test tag-based access (add/remove test tag)
  14. Test purchase flow (if using order forms)
  15. Deactivate WishList Member
  16. Take site out of maintenance mode
  17. Monitor closely for 2 hours
  18. Send post-migration email with password reset link
🚨 CRITICAL LAUNCH CHECKLIST:
Before taking site out of maintenance mode, verify:

  1. ✅ Member login works
  2. ✅ Contact IDs are linking (spot-check 5 members)
  3. ✅ Tags control access correctly
  4. ✅ Payment subscriptions linked
  5. ✅ Protected content is actually protected

Step 19: Monitor for Issues (First 48 Hours)

Don’t walk away after going live. Actively monitor for issues.

What to watch for:

  • Support tickets about access problems
  • Login failures or password reset issues
  • Members seeing content they shouldn’t (or not seeing content they should)
  • Payment processing errors
  • Failed subscription payments not canceling access
  • Slow page load times
  • CRM sync delays

Monitoring checklist:

  • First 2 hours: Stay at your computer, monitor support email
  • First 24 hours: Check support tickets every 2-3 hours
  • Days 2-7: Check support daily
  • Week 2: Normal monitoring

Step 20: Complete Post-Migration Verification

Work through the complete Post-Migration Verification Checklist. Key items for WishList → AccessAlly:

✅ Contact Data Integrity
  • Verify total member count matches WishList export
  • Check 10 random contacts in CRM for complete data
  • Verify Contact IDs properly stored in WordPress
  • Check for duplicate contacts (email is primary key)
  • Verify tags applied correctly based on WishList levels
✅ Access & Permissions
  • Test login as each membership level
  • Verify access to protected content for each level
  • Check tag-based access rules work
  • Test content unlocking based on tags
  • Verify unauthorized access redirects correctly
✅ Payment & Subscriptions
  • Verify active subscriptions linked correctly
  • Test new purchase flow end-to-end
  • Test subscription cancellation (on test subscription)
  • 🚨 CRITICAL: Test failed payment handling
  • Verify member access aligns with payment status
✅ Member Experience
  • Test password reset flow
  • Verify member dashboard displays correctly
  • Check course navigation and progress tracking
  • Test drip content unlocking
  • Verify mobile responsiveness

Step 21: Clean Up (After 30 Days)

Once migration is stable (30+ days with no major issues):

  1. Delete WishList Member plugin (you’ve verified AccessAlly works)
  2. Remove WishList database tables (if comfortable doing so)
  3. Deactivate Migration Wizard plugin
  4. Update member documentation with any new platform features
  5. Archive WishList export CSVs (keep for records)
  6. Remove staging site (or repurpose for future testing)
  7. Celebrate! You’ve successfully migrated to a more powerful platform

Troubleshooting Common Issues

Issue 1: Members Can’t Log In After Migration

Symptoms: Members report “Invalid username or password” errors

Causes:

  • WordPress user accounts weren’t created during import
  • Members trying to use old WishList login page
  • Passwords were reset during migration (expected)
  • Username format changed

Solutions:

  1. Verify WordPress user accounts exist (Users menu)
  2. Update navigation/links to point to new AccessAlly login page
  3. Send mass password reset email to all members
  4. Verify login form shortcode is correct: [accessally_login]
  5. Check that AccessAlly is connected to CRM (Settings → General)

Issue 2: Members Have Access to Wrong Content

Symptoms: Bronze members see Gold content (or vice versa)

Causes:

  • Tags mapped incorrectly during import
  • Module/page protection settings incorrect
  • Multiple tags applied when only one should be
  • Access rules too permissive (OR vs AND logic)

Solutions:

  1. Check member’s tags in CRM – do they match expectations?
  2. Review module access settings (AccessAlly → Modules)
  3. Check page protection settings (edit page → AccessAlly meta box)
  4. Verify tag names match exactly (case-sensitive!)
  5. Review upgrade logic – did you intend cumulative vs exclusive tags?

Issue 3: Contact IDs Not Syncing (CRITICAL)

Symptoms: Members have correct tags in CRM but still can’t access content

Causes:

  • Contact ID not stored in WordPress user meta during import
  • CRM connection broken after import
  • Contact ID stored under wrong meta key
  • WordPress user exists but CRM contact doesn’t (or vice versa)

Solutions:

  1. Check WordPress user meta for contact_id field
  2. Verify AccessAlly → CRM connection still active
  3. Re-import affected users with “Update existing” option
  4. Manually link users via AccessAlly’s user profile editor
  5. Contact AccessAlly support if widespread issue
🚨 THIS IS THE #1 MIGRATION ISSUE
Contact ID linking is CRITICAL. If this isn’t working, nothing else will work correctly. Fix this immediately before addressing other issues.

Issue 4: Drip Content Unlocked Too Early

Symptoms: All content is visible immediately instead of dripping over time

Causes:

  • Drip settings not configured in AccessAlly modules
  • Date-based drip using old registration dates from WishList
  • Members imported with “start date” in the past

Solutions:

  1. Check module drip settings (AccessAlly → Modules → Edit)
  2. If using “X days after tag added”, verify tag application date
  3. For migrated members, consider setting a “Migration Date” custom field
  4. Use tag-based drip instead of date-based for existing members
  5. Manually adjust access for members who joined pre-migration

Issue 5: Payment Subscriptions Not Linked

Symptoms: Failed payments don’t cancel member access

Causes:

  • Subscription IDs not linked to WordPress users
  • Stripe webhooks not configured
  • Payment metadata not migrated
  • Using different payment gateway than WishList

Solutions:

  1. Export subscription list from Stripe
  2. Match subscriptions to member emails
  3. Use AccessAlly’s subscription linking feature
  4. Configure Stripe webhooks in AccessAlly settings
  5. Test failed payment scenario on test subscription
  6. See detailed guide: Preserving Subscriptions During Migration
🚨 REVENUE PROTECTION:
If subscription linking isn’t working, you’ll have members with failed payments who still have access. This is a revenue leak. Test thoroughly and fix immediately.

Issue 6: All Members Lost Access After Migration

Symptoms: Every member getting “You don’t have permission” errors

Causes:

  • Contact IDs not linking (most common)
  • AccessAlly CRM connection broken
  • Content protection settings not configured
  • Tags not applied during import

Solutions:

  1. DON’T PANIC – this is fixable
  2. Check AccessAlly → CRM connection is active
  3. Pick one test member and troubleshoot their setup:
    • Do they have a WordPress account?
    • Do they have a CRM contact?
    • Is Contact ID stored in user meta?
    • Do they have tags in CRM?
    • Does the content require those tags?
  4. Once you identify the root cause, fix applies to all members
  5. If you can’t fix quickly, reactivate WishList Member temporarily
🚨 Rollback Procedure:
If critical issues occur and you need to revert to WishList Member:

  1. Reactivate WishList Member plugin
  2. Deactivate AccessAlly plugin
  3. Restore from backup if necessary
  4. Verify member access restored
  5. Contact AccessAlly support for migration assistance
  6. Plan a second migration attempt after identifying issues

Migration Timeline & Downtime

Total Time Estimate: 15-25 hours (varies by site complexity and member count)

Phase Time Downtime Required?
Choose and set up CRM 2-3 hours ❌ No
Data export & mapping 1-2 hours ❌ No
Content protection planning 2-3 hours ❌ No
Staging site setup & test 3-4 hours ❌ No (staging only)
AccessAlly setup & member import 1-2 hours ❌ No (staging)
Recreate content protection 3-5 hours ❌ No (staging)
Payment & subscription setup 2-3 hours ❌ No (staging)
Testing on staging 2-3 hours ❌ No
Live site migration 2-3 hours ✅ Yes (REQUIRED)
Post-launch verification 1-2 hours ❌ No

Recommended Downtime Window: 3-4 hours on a weekend or low-traffic period for live site migration


Need Help?

Migration Support:

  • Review the Migration Support Policy
  • For platform migration assistance: Contact AccessAlly support
  • Consider professional migration help for large or complex sites (500+ members)
  • AccessAlly support can help with Contact ID linking issues (common problem)

Related Guides:

CRM-Specific Migration Guides:

🎯 Migration Success Checklist:

  • ✅ CRM chosen and properly configured
  • ✅ All members imported to CRM with correct tags
  • ✅ Contact IDs properly linked in WordPress
  • ✅ WishList levels correctly mapped to AccessAlly tags
  • ✅ Content protection recreated (modules or page protection)
  • ✅ Member login working
  • ✅ Tag-based access rules tested and verified
  • ✅ Sequential upgrades working (if applicable)
  • ✅ Payment subscriptions linked
  • ✅ Failed payment handling verified
  • ✅ Drip content configured and tested
  • ✅ New login/registration pages working
  • ✅ Mobile responsiveness verified
  • ✅ No critical support tickets after 7 days
  • ✅ WishList Member safely removed after 30 days
✅ Both WordPress Plugins: Content Stays in Place

Unlike migrating between different platforms, moving from WishList Member to AccessAlly is relatively straightforward because:

  • Both are WordPress plugins
  • Your content (pages, posts, media) stays exactly where it is
  • You’re only changing HOW access is controlled (levels → tags)
  • No need to migrate WordPress database or hosting
  • Much lower risk than full platform migrations

The main complexity is the architectural shift from level-based to CRM-tag-based access control.

Updated on January 16, 2026
Was this article helpful?

Related Articles

NO QUESTION GOES UNANSWERED

Live Weekly Q&A

Join us for live Q&A. Learn the basics, discover what's possible, and connect with AccessAlly users.

Need Support?

Have questions? Get in touch. Our inbox support hours are 9am-5pm EST, Monday - Friday.

Laptop with the AccessAlly demo site

AccessAlly is the most flexible way to sell and elegantly deliver digital offerings. All in one place.

WATCH THE DEMO

You'll get follow-up emails about AccessAlly and new features. Opt out anytime. Full privacy policy here.