We're moving the community! Starting July 7, the current community will be read-only for approx. 2 weeks. You can browse content, but posting will be temporarily unavailable. Learn more

Migrating customer from custom app to public app

Migrating customer from custom app to public app

mb7
Shopify Partner
1 0 0

A customer of ours is successfully using a custom app that we built. We have decided to build a public version of the Shopify app, so that we can reach more customers and not being fully custom to one customer. What is the process to migrate our customer from the custom app to our public app?

Reply 1 (1)

kapspatel
Shopify Partner
25 0 3

Hey @mb7 

I hope you’re doing well.

 

Here’s an overview of the process for migrating customers from a custom app to a public app.

Technical Perspective

  1. Publishing the Public App:

    • Once your public app is live in the Shopify App Store, it will have a unique client ID and secret, different from your custom/private app. This means the public and private versions of your app will operate in separate environments.
  2. Customer Installation of Public App:

    • To migrate a customer from the custom app to the public app, first, have the customer install the public app. This is crucial, as it ensures they are authenticated with the new public app credentials and permissions.
  3. Database and Data Migration:

    • After the public app is installed, you can migrate their data from the private app database to the public app database. This data migration should ideally be handled carefully to avoid any data inconsistencies or service interruptions for the customer.
  4. Updating Data References:

    • Once the data is migrated, verify that the customer’s store uses the public app’s database and not the private app.

Additional Considerations

  • Communicate with the Customer: Inform the customer about any changes in functionality or billing structure, as public apps may have different pricing than custom apps.
  • Testing and Validation: Run tests to confirm that the public app is functioning identically for the migrated customer and that no data or functionality is lost in the process.