New format “Excelify: CSV” for truly big data export and import

Shopify export very large store to CSV file

If you have a store that is so large that the data don’t fit into an Excel file, now you can choose to Export into “Excelify: CSV” format.

That will still allow you to export several entities in the same export (Products, Collections, Customers, …), because each entity is saved into its own CSV file, and they are all zipped into one nice zip file to take less space.

The only limitation here is that you cannot export Metafields. It’s because each item Metafield can be only discovered when that item is read from Shopify, but CSV files don’t allow to add columns on the fly.

You can import that same zipped CSV format as well.

Similarly, as Excel sheets, each CSV file will have its own name that determines what is in that file. For example, you will find Products in the “Products.csv” file, when unzipping the exported file.

Excel file format is limited to 1 million rows, but this new format allows you to exceed well over 1 million rows in your exports and imports.

All the columns are the same as in our Excelify Excel template. It works exactly the same as with Excel. Also, after the import, you are able to download the Import Results file and see the result columns.

The exported result will look like this:

Shopify exported to CSV files

Schedule and Repeat Imports to Shopify

Shopify import schedule and repeat

You can schedule and repeat imports to your Shopify store.

After uploading the import file, you can click the “Options” button and set the scheduling and repeating parameters.

You can combine them as you like. You can set just to schedule the import to start at a certain date and time. And you can set the import to repeat at certain time intervals, for a given amount of times.

You can also set to import now and repeat at the same time at given time intervals.

To review or cancel the scheduled imports, go to the “History & Schedule”.Shopify schedule and repeat history and cancel

Bulk Delete Customers from Shopify

Shopify bulk delete Customers featured

So you are in this situation when you need to bulk delete Customers from your Shopify store.

You can do it with app like that:

1. Export all your existing Customers

In the Export section, click the Customers checkbox to export Customers. You can also include their addresses if you will need that data to select, which customers you need to delete.

Export Shopify Customers to Delete

2. Edit the Excel file to keep customers you need to delete

Make sure to remove all those customer rows from that Excel file, which you want to still keep in your store. So that your file contains only Customers you want to delete.

And then set the “Command” column to “DELETE” for all of them.

Like this:

Shopify Customer Delete command3. Import that file with the app

Shopify bulk delete customers result

That’s it – those customers will be deleted now.

Good to know

  • If any customer deletion will fail, then most likely that customer has an Order, and Shopify doesn’t allow to delete customers which have orders. To delete that customer, first, you need to delete their Order. You can bulk delete Shopify orders the same way too.
  • You can bulk delete any other Shopify items the same way, like: Products, Discounts, Pages, Orders, etc.


“Command” column: NEW, UPDATE, REPLACE, DELETE

In each sheet, you can use the “Command” column, by which you can tell, what to do with the row that is being imported:

The possible commands are:

  • NEW: will try to create a new item with the provided details. If such item will already exist (with the same ID or same Handle), then the result will be Failed.
  • UPDATE: will try to find existing item by ID or by Handle, and update it with data from the row. If such item will not be found, then it will create new.
  • REPLACE: at first, if such item with provided ID or Handle exists, then the app will delete it. After that, it will create a new one. If an existing item will not be found, then still the app will create a new one. The difference from UPDATE is that it will not keep any of columns, which were not included in the import file since the item will be deleted and re-created.
  • DELETE: the app will delete the existing item, which is found by ID or Handle. If such item will not be found, then the result will be Failed. This DELETE command is very handy for deleting items in bulk.

If no Command is specified, then the app will assume the UPDATE command.

Send activation invitations with MailChimp to your newly migrated Shopify customers

Send campaign

This is the continuation of the tutorial “How to migrate customers to your new Shopify store and activate their new accounts?“, if you want to send out invitations to your newly migrated customers in bulk, and you want to use your own template with MailChimp, instead of Shopify built-in template from Admin.

Here I assume that you have already imported your new customers into the Shopify. If you haven’t migrated them yet, then go on and import them using the above mentioned tutorial.

The steps will be:

  1. Look at the default manual way to send invitation to new customer by one customer at a time from Shopify Admin.
  2. Export unactivated customers from Shopify by generating Activation URLs in the Excel with Bulk Import Export with Excel app.
  3. Import list of customers with their activation URLs to MailChimp (or any other mass mailing service).
  4. Send out e-mail campaign to new customers from MailChimp with nice invitation to activate their accounts.


It may look complicated, but trust me, when you will do it once, and understand the system, this will take you not more then 15 minutes to set up everything.

1. The default way to send invitations from Shopify Admin

Shopify provides the functionality to send account invite for non-active customers. Open any customer data we just imported and see Send account invite right under the customer name:

Account invite

Click on Send account invite and you will get the form for email:

I filled it in with information I want to provide to the customer. Click on Review email:

Review email

Click Send notification and you will get the email with activation link. You can test this and activate account.

Activation email


Clicking on Activate your account will bring you to the Activation page: Activation page


Doing like that you can send Activation email to one customer at a time. And if you have 100 or 1000, or even more customers?

2. Export customers from Shopify with generated Activation links in bulk

We will save time and send activation emails to them all at once.

We need to get Activation URLs for all customers for that.

To get this data, lets export customers customers with Bulk Import Export with Excel app. Check Activation URLs when exporting:

You will get Activation URLs in the Export file.

Exported file

There are a lot of columns, but we will need only 4 of them Email, First Name, Last Name and Activation Account URL. So, I will delete all other columns:

File for import


Create the list of customers in MailChimp

There is a service MailChimp, that allows to send notifications, campaigns, newsletters etc. to lists of customers. As we want to send Account activation emails to several customers at a time, let’s first create the list of customers.


Login (or register) into MailChimp service.

Click on Lists -> [Create List] and fill in list data. I called my list “Migrated customers”:Create list

Click Save.

Of course, we will not add customers to the list manually 🙂 We will import the data from the Excel we exported from the Shopify earlier (the one with Activation URLs). Click Imports subscribers:  Import customers
Will import from xlsx file: Import from xlsx  There are 3 mandatory fields: Email Address, First Name, Last Name. We will need one more field: Activation URL (as we need to invite customers to activate their accounts in our new shop). Import

Now we need to open the exported Excel, copy all data and paste it to the MailChimp form:Import into MailChimp

Press Next.

Now we need to help MailChimp to understand what data about customers we want to import.

Imported customers


In the column names select appropriate title and press Save. Do it for Email Address, First Name and Last Name columns. For Activation URL column you need to add New column name. I will call it Activation URL.Imported columns

Press Next.

Import contacts

Import contacts

Now we have all customers’ data imported:   Customer contacts

We will do one more thing. Go to the Lists. Open Migrated Customers list. Click Settings -> List fields and *| MERGE |* tags

List settings

Here we will change tags for the First name field and for the Activation URL field. Set NAME and URL accordingly. Press Save Changes. We will need this when creating Activation email.

List field tags


For the testing purposes I will create one more List and call it Test Customer. This list will contain only one customer with my own email. I will copy real Activation URL (from the Excel) and also add field tags as in the previous step. With this list I will test, if email is sent as I wanted it to be and if Activation URL is working correctly.

Test Customer


Create the campaign in MailChimp for sending Activation emails

Now we need to create a New campaign in the MailChimp with what we will send the information to our customers and invite them to activate accounts. Click Campaigns -> [Create Campaign]

Create New Campaign

Choose Create an Email (as we will send the Campaign via email).

Name your campaignCampaign name

Choose the list of customers – Migrated customers Campaign listFill in Campaign infoCampaign info

Pay attention to the checkbox Personalize the ‘To” field. I Check it and put field tag *|NAME|* *|LNAME|*  in recipient name. Remember, we added these tags earlier, when creating the list? So, now each customer will get the personalized email, with his/her First name and Last name as the recipient.

Click Next.

MailChimp provides a lot of templates for email campaigns. I will choose “Make an Announcement” template

Choose template

There will be prepared boxes that you need to modify and deleted what you do not need. Imagine how do you want the email to look like. Do you need any images? What text will you put there and attract your customer and make him/her interested to activate account.

Editing Campaign

When you have approximate idea, click on the appropriate box and modify it.

I have added the Logo. Then I edited the box with the text. Edit Activation email

I deleted boxes with images and all other except the button.

I edited the button as follow: Edit Activation button

In the Web address (URL) field I put URL tag that we added, when creating the list. This button will take each customer to his/her own Account activation page, as it will take his/her particular Activation URL from the list.

Press Save and Close.

Test and then send the e-mails to all customers

Now we can test it with test email. Go Preview and Test -> Send a test email.

Send test email

Provide the email, where you want to send test and click [Send Test].

Here is mine Test email

Looks good to me. Activation button will not work here, as this is just a test. But I would like to test, if the button will work in the real email, so I will send this Campaign to my Test Customer list (remember, I have created one?)

I will click Next Choose test list

Here I will change the list. Click on [Edit]  for the List and choose Test Customer list Test customer

Click Next -> Next -> Next. And then click Send!

Send campaign

Click Send Now!

And now wait for the email 🙂

I have got mine Test campaign email

Now I see there Name and Last name. And [Activate Now]  button will take me to the Activate Account page Activate Account Page


Now we should send Activation emails to the real customers.

Go Campaigns. For the New Store Account Activation campaign choose ReplicateReplicate campaign

Choose Migrated Customers list Choose list

Click Next, Next, Send.

You will be asked again if you want to send. There should be 4 subscribers (in my case). Click [Send Now].

And we are done!

How to migrate customers to your new Shopify store and activate their new accounts?

Customer migration

When you are migrating your store to Shopify, you definitely want to take your customers with you. You need to migrate them and invite each customer to activate their accounts. This is how you do it with Bulk Import Export with Excel app:

  1. Export list of customer from your current platform
  2. Prepare data in Excel for import
  3. Import customers with the app (with sending activation emails)
  4. Alternative ways to send Activation emails:
    1. Manually form the Shopify Admin
    2. Later with the app.


1. Export list of customer from your current platform

If you are migrating customers from your old Shopify store to new Shopify store, then you just use this same app in both stores: export from old, and import into a new one.

If you migrate your customers from another platform, they still should have the capability to export customers to some file. Exported file will be different for each platform, but usually there are such fields as: email, first name, last name, phone number, company name, address, shipping address, billing address, etc.

For example, let’s take this export from WooCommerce:

WooCommerce customer export

I will replace last customer with my own for testing purposes.


2. Prepare data in Excel for import

Prepare data file for the import. App needs particular format for importing customers’ data. It can be found in the template. You need to transfer data from your export file into import file or edit exported file to mach that template.

  • Columns IDState, Accepts Marketing, Updated At, Total Spent, Total Orders, Last Order Name, Note, Verified Email, Tax Exempt, Tags, Address ID can be left blank or deleted to make things more simple.
  • All other columns I fill in with the copied data from the sample file. In this Sample file all customers have the same Phone number. Shopify will, not allow to import them like that. Each customer should have unique phone number.
  • If you have several addresses for one customer, for example, shipping address and billing address, you should provide them in different rows. Add another row and fill in Email column with the customers email, and second (third, forth, etc.) address. In my example, first customer has different Billing and Shipping addresses, so, I added another row with the same email and fill in only address columns.
  • Address Is Default should be filled with TRUE, if there is more then 1 address for the customer. One of the addresses will be default. In my example, second address for the first customer will have empty value in this column, as this will be additional address.
  • Created At can be filled with date_registered or left empty.
  • When data is ready, I named the the sheet “Customers”.

This is very easy yo invite you migrated customers to activate their account. To do that, just put value TRUE in the column Send Account Activation Email. Email will be sent during the import. You also can do it later, if you want.

  • Here is example of my file: Prepared for importPrepared for import
  • I will invite only one customer to activate account:

    Prepared for import
  • Save your file.

3. Import customers with the app

Now we just upload and import prepared file with Bulk Import Export with Excel app.

Imported file

Then go to Customers  and check.

Yuhuuu! Customers are imported!!!

And I have received Account activation invite.

Activation emails

By clicking on the Activate your account customer will get to Account activation page, where he/she can create the password and activate the account.

Activation page


4. Alternative ways to send Activation emails

Manually from the Shopify Admin

If you do not have very many customers or you really want to invite them manually, Shopify provides the functionality to send Account invites from the Admin.

To do that, open the data of the customer you want to invite. Under his/her name you will see the link: Send account invite:

Account invite

Click on Send account invite and you will get the form for email: 

I filled it in with information I want to provide to the customer. Click on Review email: Review email

Click Send notification and you will get the email with activation link. You can test this and activate the account.

Activation email


Clicking on Activate your account will bring you to the Activation page:

Activation page


Doing like that you can send an Activation email to one customer at a time. And if you have 100 or 1000, or even more customers?


Send activation invites with the app

If you do not want to send Activation emails during the initial import, you can do it later with the app in bulk.

Just export your customers with Bulk Import Export with Excel app.

Esport customers

Download exported file and edit it.

Basically, you need just 2 columns here: Customer ID and Send Account Activation Email. I just want to make it more visually understandable, so I keep Email as well. You also can keep only those customers that you want to send Activation Emails to. Again, I keep all customers just to make it simple, but it makes sense to send those e-mails only to those Customers that have State column value “disabled” – because those are the ones that are not yet activated.

Import with activation

Import the file.

As soon as data is imported, customers will get Account Activation emails.

What’s next?

If you want to know, how to send account activation invitations with MailChimp (or another mass-mailing platform you use), read this tutorial: Send activation invitations with MailChimp to your newly migrated Shopify customers.

What’s the Shopify maximum import limit? (Updated on 15 Dec, 2017)

Searching For Maximum - 100'000 - progress - 4 hours remaining

With this exercise our goal is to find the Shopify maximum points. (Updated on Dec 15, 2017 with new speed improvements)

We will start with basic thing – by importing 100k Products, and move up from there.

Day 1: 100’000 Products Import

Before we started, it was estimating 2d 7h min to complete, which would be the time of single-stream import.

But we will have 10 streams importing in parallel, so let’s see where this takes us.

Shopify maximum import speed

Few minutes later the estimated time dropped to just 7h 9 min, because all the 10 parallel imports are working like crazy!
We are moving at the speed of 0.264 seconds per Product, which is basically 3.79 Products per second, or 227 Products per minute, or 13k Products per hour.

It’s done! Our Shopify store now has 100’691 Products!

Searching For Maximum - 100'000 - done


What next?

You make a guess! 😉

OK, look! Pressing “Import” button now…

Big Import of Collections, Customers, Discounts - before start

Alright, the weekend has passed, and I admit, we had some bumps – we had wrongly formed Discounts import table which was failing. So we decided to cancel the import, fixed the table, and imported again. We want the “finding maximums” kind of results here.

Here they are:

As you can see, the first kind of maximum is found. That is – we have hit the Shopify limit of 5000 Smart Collections.

Other than that, 10k+ Custom Collections, 100k+ Customers, 20k+ Discounts. Not bad at all, Shopify! Very not bad at all!


Should we continue?

Of course, we should, and we will…

Tune into our Twitter account @excelify_io for further tests and updates.