{"id":3665,"date":"2023-05-15T04:05:00","date_gmt":"2023-05-15T08:05:00","guid":{"rendered":"https:\/\/memberlounge.app\/?p=3665"},"modified":"2023-11-09T19:17:49","modified_gmt":"2023-11-09T23:17:49","slug":"data-migration-success-data-with-a-purpose","status":"publish","type":"post","link":"https:\/\/memberlounge.app\/data-migration-success-data-with-a-purpose\/","title":{"rendered":"Data Migration Success: Data with a Purpose"},"content":{"rendered":"\n

Data Migration is standard practice when your organization develops a new member portal or membership site, and this can be a daunting task.  Your association is going to want to keep your data in order to continue tracking reports on member engagement, member retention, and the popularity of your membership benefits, especially if your organization relies heavily on data to manage its operations and achieve its mission.<\/p>\n\n\n\n

However, with the right tools and strategies in place, data migration can be a smooth and successful process. This is where CiviCRM comes in \u2013 an open-source CRM software that can help organizations migrate their data effectively and efficiently. Whether your association changes its CMS, AMS, or LMS. This blog will guide you through the steps of setting your data’s broad objectives and cleaning it up to prepare it for successful data migration<\/p>\n\n\n\n

Here are some tips for achieving data migration success using CiviCRM:<\/p>\n\n\n\n

<\/div>\n\n\n\n

Step 1: Plan Ahead <\/h4>\n\n\n\n

Before going deep into the data, take a step back to think of what your association’s goals are for your data. How do you want to use it? How does it benefit you? What saved reports do you want to create with it? Which dynamic (liquid) fields are you going to want to create from the data? What automation will you want from the data?<\/p>\n\n\n\n

Make a list of the goals you have for your data. From this point, make sure you have the data you want to reach those goals, and that you create fields to house that data in our new data management system.<\/p>\n\n\n\n

Start by asking your association\u2019s team the following questions:<\/p>\n\n\n\n

1. What data do we want to migrate?<\/strong>
Your team will likely have inherited data from previous years and programs that are no longer relevant. You may need to update or delete these data altogether. Your data may contain everything and anything! Let\u2019s take a closer look.<\/p>\n\n\n\n

The Must-Haves<\/strong>
The main content types your associations likely need to transfer for a member portal are your contacts, staff, members, membership types, events, activities, donations, user profiles, relationships, and partners. There may be other content types that are specific to your association\u2019s needs.<\/p>\n\n\n\n

2. Does future work and reports require all the data?<\/strong>
There will be data that is not useful to your mission and reporting. Either it\u2019s historic, not relevant, or incomplete. We encourage you to feel comfortable with letting go of the data your association doesn\u2019t need. Avoid the what-if mentality of thinking, \u201cWe may use it one day!!\u201d Focus on your association\u2019s mission, how you serve your members, and the practical applications of the data.<\/p>\n\n\n\n

How do we know if we will need the data in the future or not?<\/strong><\/h5>\n\n\n\n

Use the following framework to decide what data to keep; ask yourself:
Does the data support your association\u2019s mission?
Does this data help you better meet the needs of your membership?
Do you see practical applications for the data that you will use in the near future?<\/p>\n\n\n\n

Saving a Backup of Historic Data<\/strong><\/h5>\n\n\n\n

You do not need to throw out the data that your association doesn’t need. It is reasonable to assuage your what-if fears by saving a backup in a location other than your association\u2019s new CRM or database. This way you can access it if ever the need arises and it won\u2019t clutter up your new database and reports.<\/p>\n\n\n\n

Housekeeping<\/strong><\/h5>\n\n\n\n

Before your association rushes to shuttle all your existing data into the new member portal, this is a welcome opportunity to clean up your data. You\u2019ll want to make sure your association only carries over relevant and up-to-date data.<\/p>\n\n\n\n

It\u2019s like moving to a new home; you\u2019ll want to go through the basement and ask yourself, \u201cDo we really want to clutter up our new home with all the stuff we haven\u2019t used in ten years?\u201d Your task here would include deduplication, normalization, and other data-cleaning task.<\/p>\n\n\n\n

<\/div>\n\n\n\n

Step 2: Getting a Closer Look at the Data Fields<\/h4>\n\n\n\n

Now that we know the data content types we want to move forward with, let\u2019s look at the data fields<\/em> of each content type. The fields are the titles of your columns in your data; and the categories so you can make sense of the date.

1. Identify Fields to Migrate<\/strong>
Look at all the fields in the data. First name, last name, email, location, donation amount, relevant tags \u2014 there are plenty of important fields. There may also be granular data that your system stores and isn\u2019t relevant to your association\u2019s work and mission \u2014 for example, time stamps on an event from years back or the food preferences of people who passed away.<\/p>\n\n\n\n

Delete the data fields you do not need. Not sure if you should delete them? Go back to the questions above: does the field support your association\u2019s mission? Is there a practical application for the data?<\/p>\n\n\n\n

2. Identify the Field Type <\/strong>
Confirm the field type options for each field, i.e. is the field a radio button, checkboxes, text field, numeric value, etc? The person responsible for the data migration will need this data to make sure no errors occur.<\/p>\n\n\n\n

Don\u2019t worry about remembering all the steps! Get our<\/em> Data Migration Checklist & Worksheet.<\/a><\/p>\n\n\n\n

<\/div>\n\n\n\n

Step 3: Map Out The Fields<\/h4>\n\n\n\n

Go through each field to identify which fields of the old data will correspond to which field on the new platform. Not all databases are equal, and it’s common for data fields from one application not to map one-to-one to the new one. For example, one system may store data as an activity, while another system stores it as an event. Your data will still be there, just stored differently.<\/p>\n\n\n\n

If we store data differently, can our association produce the same reports?<\/strong>
All the functionality is available in your new CRM and database (assuming you are using a powerful, detailed one such as Drupal, WordPress, and CiviCRM). You just need to find the functionality. It may not be the same steps as the previous platform, but you\u2019ll learn the ropes on the new platform quickly. For support and tips, use the CiviCRM and Drupal forums to ask for help on how to do something.
Identify any missing fields in the new platform and create those fields.<\/p>\n\n\n\n

<\/div>\n\n\n\n

Step 4: How are you going to do the migration?<\/h4>\n\n\n\n

The platform you use (Drupal, WordPress, or CiviCRM) determines how you perform the migration.
CiviCRM already has an import mechanism feature for the main content types, such as contacts, membership, activities, contributions, and participation.<\/p>\n\n\n\n


Drupal and WordPress do have an import mechanism but it\u2019s not automatic. You need coding. Drupal has a migration mechanism called Migrate API, which is the module you will use to migrate the data batch by batch. You need custom coding as well.<\/p>\n\n\n\n


WordPress has several migration plugins to migrate data from old WordPress sites. Custom coding will be required as well if you want to migrate from a different CMS.<\/p>\n\n\n\n

Provide ALL your Data to the Person Who Will Perform the Migration<\/strong>
Your files may be big. Like, really<\/em> big with tens of thousands of rows. Provide all<\/em> of your data to the person performing the migration to review the data.<\/p>\n\n\n\n

Providing a sample of the data isn\u2019t enough because there will always be surprises and inconsistencies hidden in the data. It\u2019s best to identify these issues sooner rather than later.<\/p>\n\n\n\n

Double and triple-check that the data files you are working with are the most up-to-date and cleaned up you can get. Changing the contents of the data files midway through can cause delays to the point of bringing you back to the beginning of the data migration planning process.<\/p>\n\n\n\n

<\/div>\n\n\n\n

Step 5: Test Drive the Data aka The Deep Clean<\/h4>\n\n\n\n

1. Preliminarily Test the Migration of ALL The Data Through The Migration Process. In the planning phase, we review the fields manually to get a sense of the data. Your data, however, may be tens or hundreds of thousands of rows and it\u2019s impossible to go through them manually. With a migration test, the Drupal, WordPress, or CiviCRM system will identify errors in the data. <\/p>\n\n\n\n

Run all the data through the migration process to identify any errors in the data. Error messages and hiccups are to be expected. For example, the system will identify duplicate fields or when a piece of data doesn\u2019t match the data type. For instance, if two organizations have been labeled as having a parent\/child relationship. You\u2019ll have the opportunity to clean up these issues and correct, add, or remove data.<\/p>\n\n\n\n

2. Complete a Full Data Migration as a Test to Simulate the Launch. Now that all the errors in the data have been addressed, test the migration again. We want to see all the data transferred with zero error messages.

3. Identify the Batch Size Limitation for the Data Files
Depending on the size of your data files, it is likely that the system will not allow you to migrate the data all at once. The limitation depends on file size and number of rows. First, try with 100 rows of data. If this has no issue, increase it to 500 rows. Keep increasing gradually until the system prompts you that the size limit has been reached.<\/p>\n\n\n\n

<\/div>\n\n\n\n

Step 6: Perform the Final Migration<\/h4>\n\n\n\n

When all data has been cleaned through a trial migration run, use the maximum migration batch size you identified to perform the final migration. The process will go smoothly because there will be no errors. <\/p>\n\n\n\n

Final Test Drive aka Perform Quality Assurance Testing in the New Platform<\/strong>
After cleaning all the data through a trial migration run, use the identified maximum migration batch size for the final migration. If the results of the reports match the results in the old system, you are golden!<\/p>\n\n\n\n

For good measure, spot-check a few records in the data and see if they match the old data.<\/p>\n\n\n\n

<\/div>\n\n\n\n

Step 7: Train Your Team<\/h4>\n\n\n\n

Train your team: Once the data migration process is complete, it is important to train your team on how to use CiviCRM effectively. This may involve providing documentation, training sessions, and ongoing support to ensure that everyone is comfortable using the new system.<\/p>\n\n\n\n

By following these tips, your organizations can migrate their data to CiviCRM with confidence, knowing that they have the right tools and strategies in place to achieve data migration success. With its robust features, flexibility, and ease of use, CiviCRM can help organizations manage their data effectively and achieve their goals more efficiently.<\/p>\n\n\n\n