Prepare your targeting CSV file for an Email deployment via Skeepers Targeting

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_ref column
    • at least one contact identifier: consumer_id, email or phone

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

 

firstname

Required

Contact's first name

lastname

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).

email

Optional

Email address

phone

Optional

Phone number

gender

Optional

Gender (M / F)

civility

Optional

Title (Mr / Ms / Dr)

lang

Optional

Preferred language (e.g. fr, en)

country

Optional

Country

solicitation_date

Optional

Lets you explicitly define the date on which the contact should be solicited.

Points to note

  • Column names must be strictly identical
  • targeting_ref is the link between your file and your campaigns
  • Even though consumer_id, email and phone are 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 usable email, and an SMS campaign requires a usable phone.
  • If solicitation_date is 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_id value 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:

  1. consumer_id if provided
  2. otherwise email
  3. 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 email 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

 

email

 

targeting_ref

 

Marie

Durand

marie@email.com

VIP_CLIENT

Jean

Martin

jean@email.com

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_id is 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_ref column is present

  • each row contains a targeting_ref value

  • each row contains at least one identifier: consumer_id, email or phone
  • consumer_id values 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_ref column
  • Leaving a row with no identifier at all (consumer_id, email and phone all empty)
  • Changing a consumer_id value for the same customer from one file to the next (creates duplicates)
  • Using the same consumer_id for 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_ref column

  • examples of custom attributes

Download the standard targeting CSV template

If you have any questions, feel free to contact our Customer Care team.

Was this article helpful?
0 out of 0 found this helpful