In this article:
What an import does
An import adds data to your customers' LoyaltyLion profiles in bulk. You can make the same changes one customer at a time from the Customers page, so an import is worth it when you have more customers than you want to work through by hand.
You run imports yourself from Analytics, and then Imports. There are five kinds:
Add or remove points, to adjust points balances.
Birthdays, to add or update birthdays for existing program members.
Block or unblock customers, to set who is excluded from your program.
Customer activity import, to trigger a signup or custom rule for many customers at once.
Tiers, to place customers in a tier or add to their tier progression.
Four of those five you run yourself. Tier imports are the exception and we run them for you, because a tier import cannot be undone.
You will not see a Tiers tile on your Imports page. To import tier data, send your file to our Support team at support@loyaltylion.com and we will run it for you. If you would rather we handled any of the other imports as well, send us the file and we will take care of it.
Before you start
These apply to every kind of import:
Your customers need to exist on your ecommerce platform first. We match each row against a customer in your store, and rows we cannot match are skipped.
Preparing the file is your job. We do not edit files for you, so check the columns and the formatting before you upload.
Guest customers can be included, but they will not be able to spend points until they create an account on your store, which is what enrolls them in your program.
An import is visible to your customers. It appears in their loyalty history like any other activity.
On Shopify, the Add or remove points tile stays disabled until your initial customer sync has finished. If it is grayed out, the sync is still running.
Points imports
A points import adds points to, or removes them from, each customer's approved points balance. It adjusts the balance rather than replacing it, so importing 100 points for a customer who already has 400 leaves them with 500.
Preparing your file
Your file needs a header row and these columns:
Column | Required | What it holds |
email or id | Yes | Identifies the customer. Which one you use depends on the matching option you pick below |
points | Yes | The number of points to add. A negative number removes points |
reason | Optional | Up to 40 characters, shown to your customer in their history |
date | Optional | The date the points take effect, in YYYY-MM-DD format. Defaults to today |
The importer has a Download example CSV button that gives you a file with the right headers already in place.
The date you set also decides when those points expire, if your program expires points.
Options
Before you launch the importer you can set three things:
Match customers using, either their email address or their customer ID from your store. Your file needs whichever one you choose.
Allow negative points balance, which lets a customer's balance fall below 0 when you remove points. Leave it off and we stop at 0.
Allow multiple rows per customer, which lets you give one customer several adjustments in the same file. Each row shows separately in their history. Leave it off and a customer listed twice may not import correctly.
If you fill in the reason column, your customers see it in their loyalty history under Action. Leave it blank and they see Adjustment instead.
Reverting a points import
You can revert a points import for 90 days after it starts, using Revert this import on the import in your history. A revert undoes the adjustments the import made.
Check your point values before you launch an importer. A mistake like importing all-time spend instead of points, or cents instead of dollars, applies to every customer in the file at once.
Birthdays import
A birthdays import adds or updates birthdays for customers who are already members of your program, so they earn points on their birthday each year.
Your file needs a column identifying the customer and a birthday column. Before you launch the importer, set Birthday format to match your file:
Day, month, and year, written as YYYY-MM-DD.
Day and month only, written as MM-DD.
If your program collects the day and month only, the format is fixed and you cannot change it here. That setting lives in Settings, under Data and privacy.
Customers earn their birthday points on the date you import, not on the day the import runs, and they earn them once a year.
Block or unblock customers
Blocking a customer excludes them from your loyalty program. A bulk block is useful when you are moving from another loyalty platform and already know who you want to leave out.
Your file needs one column, identifying the customer. Set Match customers using to match what is in your file, then pick whether you are blocking or unblocking. Customers who are not in LoyaltyLion, or who are already in the state you are setting, are skipped.
Customer activity import
A customer activity import completes an activity rule for many customers at once. It creates the activity on each customer's profile, marks the rule complete, and awards the points that rule is set to give.
You can trigger two kinds of rule this way: Create an account and any custom rule. The tile only appears if you have at least one of those rules live, and you pick which rule to trigger when you launch the importer.
Your file needs a column identifying the customer and an optional date column, which sets when the activity happened and defaults to today. Customers must be enrolled in your program at the time of the import, so guests and customers without an account are skipped.
This import can also be reverted for 90 days after it starts.
Everyone in the file is awarded points, including customers who have already earned them for that rule. Check the file before you launch the importer.
A common use is a program launch: if you want existing customers to earn points for the Create an account rule they never triggered, a customer activity import gives it to them in one go.
Tier imports
If you are moving to LoyaltyLion from another loyalty platform, we can bring your customers' tier information across. Send your file to our Support team at support@loyaltylion.com and we will run the import for you.
There are two ways to do it, and which one you want depends on whether you need to keep each customer's progress.
Placement imports
A placement import puts each customer straight into a tier you name. Use it when you already know which tier everyone belongs in and you do not need their history. Customers are placed at the minimum qualifying value for that tier.
Your file needs two columns:
Column | Required | What it holds |
email or id | Yes | Identifies the customer |
tier | Yes | The exact name of the tier |
A placement file looks like this:
tier | |
Silver | |
Gold | |
Platinum |
Tier names are case-sensitive and have to match the tier names in your program exactly.
Progression imports
A progression import brings each customer's historical spend or points into your tier program instead of placing them. We treat the imported value as though they had earned it with you, so they carry on progressing and requalifying under your own tier rules, whether those are rolling, calendar-based or lifetime. Imported progress ages the same way their future activity will.
Your file needs:
Column | Required | What it holds |
email or id | Yes | Identifies the customer |
value | Yes | The historical spend or points to import |
date | Optional | When that value should count from, in YYYY-MM-DD format. Defaults to the time of the import |
A progression file looks like this, with two rows for the same customer:
value | date | |
1200 | 2025-10-15 | |
400 | 2025-11-03 | |
850 | 2025-12-01 |
You can give one customer several rows to reflect their spending over time. Dates are read in your program's timezone.
Give the value in whatever your tiers are built on. For a points-based program that is whole points, and for a spend-based program it is whole currency units, so 250 for £250.
Guest customers
Guests can be included in either kind of tier import. A placement import puts them in your lowest tier for now and moves them to the tier you named once they enroll. A progression import stores their progress and applies it when they enroll. Either way, a customer has to be a member of your program before they can hold a tier.
Import results
When the import finishes we report rows completed, rows skipped, failed rows, and customers updated. On a progression import, customers who are already in your highest tier are reported as succeeded rather than skipped, because their progression was still recorded.
Tier imports cannot be undone, which is why we run them for you rather than leaving them on your Imports page. Check your file carefully before sending it.
FAQ
Can you import a list of customers into my loyalty program?
We can import customers who already exist in your ecommerce store, whether or not they have an account. Guests will not be able to spend their points until they create one.
Rather than importing guests, it is usually worth emailing them and running a limited period where the Create an account rule is worth double, which gives them a reason to sign up. You would double the points on that rule, then set it back when the promotion ends.
What is the difference between an enrolled customer and a guest?
An enrolled customer has an account on your store and is a member of your loyalty program. A guest has bought from you without creating an account, so they can earn points but cannot spend them until they sign up. Both can be imported, as long as they exist in your ecommerce platform.
Can I change the reason a customer sees after the import has run?
No. You can set the reason per row in the file, and different rows can carry different reasons, but it cannot be edited afterwards. Each import also carries its own reference, which is how we tell which customers were affected by which import.
Once a customer has been imported into a tier, how do they move up or down?
Exactly as they would have otherwise. Once they have spent or earned enough to qualify for the next tier we move them up and notify them on your site, and they stay in that tier for at least the length of your tier period. On lifetime tiers they keep moving up as they spend or earn more and never move back down.
Will a customer earn birthday points if we import their birthday?
Yes, on the birthday you imported, and once a year after that. A customer whose birthday you import as 2000-02-22 earns their points on February 22, not on the day the import runs.
What do you mean by a member of the loyalty program?
Someone who has created an account on your store. We enroll them in your program automatically when they do, and there is more on how customers join your loyalty program.
Can you import customers into a hidden, conditional or subscriber tier?
No. Those tiers are managed customer by customer, so they cannot be set from an import.
How long does an import take?
Most imports finish quickly, but a large file, or several files running at once, can take up to 24 hours. Plan for that if you are importing as part of a launch.





