This article walks you step by step through creating your targeting CSV file, used with Targeting Studio for your Email campaigns.
What is the targeting CSV file for?
The targeting CSV file lets you associate each contact with the campaign they should receive. This means each row represents one contact.
The targeting_ref column defines which campaign should be sent to them.
Once the file is completed, it is deposited on the SFTP, where it is automatically picked up and processed by the platform (learn more about FTP deposit types).
This file is not a complete CRM contact database. It is used solely to manage targeting orders.
Naming the CSV file
To ensure your files remain compatible over time, we recommend using a versioned naming convention.
Use the following format:
targeting_v1_YYYY-MM-DD (for example : targeting_v1_2026-04-28-clients_vip.csv)
This convention makes it possible to anticipate future changes to the file format without impacting your existing campaigns.
General file structure
Your file must comply with the following rules:
- Format: CSV (UTF-8)
- A header row (required)
- One row = one contact
- Required content:
- standard fields
- the
targeting_refcolumn - at least one contact identifier:
consumer_id,emailorphone
All column names must be in lowercase.
Since our data processing tools are case-insensitive, it is not possible to process two columns in the same file whose names differ only by case (e.g. Nom_Custom vs nom_custom).
Use lowercase only for all your columns (standard and custom).
Standard fields
Standard fields are common to all customers. They let you identify the contact and, if needed, personalize your messages.
Column |
Status |
Description |
|---|---|---|
|
Required |
Contact's first name |
|
Required |
Contact's last name |
targeting_ref |
Required | Value of your choice |
consumer_id |
Optional | Your internal customer identifier (customer number, CRM ID…). Lets you identify a contact without relying on their email, and stays the same regardless of the channel (email and SMS). |
|
Optional |
Email address |
|
Optional |
Phone number |
|
Optional |
Gender (M / F) |
|
Optional |
Title (Mr / Ms / Dr) |
|
Optional |
Preferred language (e.g. fr, en) |
|
Optional |
Country |
|
Optional |
Lets you explicitly define the date on which the contact should be solicited. |
Points to note
- Column names must be strictly identical
-
targeting_refis the link between your file and your campaigns - Even though
consumer_id,emailandphoneare all three optional, each row must contain at least one of the three in order to be processed. The delivery channel remains a constraint on top of this: an email campaign requires a usableemail, and an SMS campaign requires a usablephone. - If
solicitation_dateis empty, the date used will be the file's integration date - A delay can be applied via the campaign launch rules
Identifying a contact: the consumer_id field
Historically, a contact was identified by their email (or phone number). You can now use your own customer identifier via the consumer_id column.
Why use it?
-
A single identifier for both channels: the same
consumer_idvalue can be used for email and for SMS, which avoids having to manage two different identification keys. - You stay in control of the key: it is your own CRM / e-commerce identifier, independent of changes to your customers' email address or phone number.
- More reliable tracking: solicitations and responses from the same customer are linked to the correct contact, even if their contact details change.
Priority order for identifying the contact
The consumer_id field is optional. When processing the file, contact identification follows this cascade:
-
consumer_idif provided - otherwise
email - otherwise
phone
If none of the three is provided, the row cannot be processed.
Best practices
- Use a value that is stable over time: the same customer should always carry the same
consumer_id, from one file to the next. - Use a value that is unique per customer: two different customers should never share the same
consumer_id. - If you adopt
consumer_id, populate it on every row of your files, in order to avoid mixing two identification logics.
Example CSV file with consumer_id
| consumer_id | firstname | lastname | phone | targeting_ref | |
|---|---|---|---|---|---|
| CLI-100234 | Marie | Durand | marie@email.com | +33600000001 | VIP_CLIENT |
| CLI-100987 | Jean | Martin | +33600000002 | NOUVEAU_CLIENT |
In this example:
- Marie and Jean are identified by their
consumer_id, regardless of the channel used - Jean can be targeted even without an email address, via his phone number
Minimal example CSV file (without consumer_id)
firstname |
lastname |
targeting_ref |
|
|---|---|---|---|
Marie |
Durand |
VIP_CLIENT |
|
Jean |
Martin |
NOUVEAU_CLIENT |
In this example:
- Marie will receive the campaign associated with
VIP_CLIENT - Jean will receive the one associated with
NOUVEAU_CLIENT - identification relies on the email address, in the absence of
consumer_id
Adding custom attributes
You can enrich your file with custom columns to:
- Add business information
- Create segments
- Personalize your messages
The column name must exactly match the name of the attribute that already exists in your Feedback Management account.
Duplicate management
Duplicate management is handled automatically when the file is processed.
Deduplication relies on the identifier used for the row (see the priority order above) combined with targeting_ref:
- If
consumer_idis provided → duplicate detected on the consumer_id + targeting_ref pair - Otherwise → duplicate detected on the email + targeting_ref pair
- Otherwise → duplicate detected on the phone + targeting_ref pair
Only one contact is kept; duplicates are automatically removed.
Key takeaways
Before uploading your file, check that:
the file is in CSV format
column names are correct and in lowercase
the
targeting_refcolumn is presenteach row contains a
targeting_refvalue- each row contains at least one identifier:
consumer_id,emailorphone -
consumer_idvalues are stable and identical from one file to the next your custom attributes exist in your account
Errors to avoid
- Renaming the standard fields
- Forgetting the
targeting_refcolumn - Leaving a row with no identifier at all (
consumer_id,emailandphoneall empty) - Changing a
consumer_idvalue for the same customer from one file to the next (creates duplicates) - Using the same
consumer_idfor several different customers - Mixing several targeting logics inconsistently
- Using special characters or spaces in column names
Download the CSV file template
To help you, we provide a ready-to-use CSV template, including:
standard fields (including
consumer_id)the
targeting_refcolumnexamples of custom attributes
Download the standard targeting CSV template