Menu

Variable data printing, and the same idea for email

Three white numbered mailboxes on a post among garden plants
Photo: Christopher Finklea, Pexels

Variable data printing (VDP) is digital printing in which text, images or codes change from one piece to the next within a single print run, driven by a data file. The USPS describes it as a technique that “allows tailored mailpieces to be printed right next to each other on a single print run”. Each record in the file becomes one finished piece.

This page is for print and direct mail teams. The first half explains VDP the way a print buyer meets it: the data file, the template and the press. The second half shows the same idea in email, where image personalization for email draws each subscriber’s picture when the email is opened rather than when the press runs, and how to run the email half of a mailing from the data file you already prepared for print.

What is variable data printing?

A conventional print run makes many copies of one design. A VDP run makes many versions of one design: the layout stays the same, and named fields in it are filled from a different record for every piece. That is only practical on digital presses, which do not need a new plate for each change. The USPS notes that digital printers can handle quantities “as low as one item”.

The USPS Irresistible Mail page lists what tends to vary on a direct mail piece:

  • names, images, text and language;
  • coupons and deals based on “browsing history, purchase behavior, or store locations”;
  • color and data visualization, “such as a map from address to store”;
  • rewards, incentives and loyalty messages;
  • custom lookbooks or itineraries;
  • “a personalized URL or QR Code” for tracking.

It helps to separate three depths of variation, because they cost different amounts of work. Versioning swaps whole blocks by segment: one cover for the north, another for the south. Personalizing fills fields inside one design: a name, a store, a code. Full customization changes the content of the piece itself per person, such as a lookbook built from what each customer bought. Most direct mail sits in the first two, and so does almost every email.

How is a VDP job put together?

The USPS breaks it into three steps: data collection (“quality data is critical in VDP”), template design “with variable elements in mind”, and digital printing, where the vendor syncs data and design and prints the pieces.

In design software that becomes a data merge. Adobe’s InDesign documentation calls the parts a data source, a target document and a merged document:

How is a VDP job put together?
Part What it is, in Adobe’s terms Rules worth knowing
Data source “The file that contains all variable information arranged in rows and columns” CSV, tab or semicolon delimited text; “the first row must contain the field names”
Target document The layout with “data-field placeholders” plus the boilerplate that stays the same Insert fields from the Data Merge panel, never by typing them
Image fields A column whose header starts with @, such as @Photos Each cell holds a file path, absolute or relative to the data file
QR code fields A column whose header starts with #, such as #QRCode Web links are written as URL: followed by the address
Merged document The layout repeated once per record This is what goes to the press or to PDF

A typical data file for a store-opening postcard looks like this:

first_name,store,code,@StorePhoto,#QRCode
Maya,"Leeds, Briggate",LDS-2611-MAYA,/Photos/leeds.jpg,URL:https://example.com/s/LDS-2611-MAYA
Tom,"Bristol, Park Street",BRS-2611-TOM,/Photos/bristol.jpg,URL:https://example.com/s/BRS-2611-TOM

Two details catch people out. A store name with a comma in it has to be in quotation marks, as Adobe’s page notes, or the comma splits it into two fields. And every image path has to exist on the machine doing the merge, which is why print shops ask for the photos and the data file together.

The same idea in email, at open time

An email campaign with a picture per person has the same three parts. The data file becomes a recipient list. The target document becomes a template with variables. The press run becomes a set of image addresses, one per row, and each picture is drawn when that subscriber’s mail client asks for it.

Variable data, on paper and in email. Print: data file, one record per mailpiece; template with variable fields; digital press prints each piece in turn; fixed once printed. Email: recipient list, one row per subscriber; template with variables and rules; one image address per row; drawn when opened, and time rules can change it.
The same pipeline, step for step. The last step is where they part: paper is fixed at the press, an email image is drawn at open.

Here is the email half of the postcard above, drawn by the EmailTimer.app engine from one template and the same names, stores and codes:

Variable data printing idea in an email image: in store this weekend, 28 to 30 November, Maya, a gift is waiting at Leeds, Briggate, with the code LDS-2611-MAYA and a QR code of it The same email image for Tom: a gift is waiting at Bristol, Park Street, with the code BRS-2611-TOM and its QR code
Two rows of one recipient list. The store, the code and the QR code change per person, just as they would on the printed piece.

To build it in EmailTimer.app on the Growth or Agency plan (see pricing):

  1. Save a copy of the print data file with only the columns the email needs, and add an email column. Drop the @ and # columns: an email template does not read file paths, and its QR code layer takes the value directly.
  2. In the editor, design the template with variables named after your columns: a text layer reading {{first_name}}, a gift is waiting at, another reading {{store}}, a text layer and a QR code layer both drawing {{code}}.
  3. Upload the CSV as a recipient list. A row that cannot be read is reported with its line number and the reason, and the rest imports.
  4. Export one signed image address per row and import it into your email platform as a contact field.
  5. Proof it: preview the template with two or three real rows, then send yourself a test.

Store photos work too, with one change from InDesign. Instead of a path per row, you upload the photos to the template once and an image layer picks one by a value in the row, such as the store’s short name. Image mail merge compares the file-path way and the email way in more detail.

Where print and email differ

Where print and email differ
Question Variable data printing Variable data in email
When each piece is made At the press, before mailing When the email is opened
Can it change after it is sent No Yes, by rules on the time of opening, such as “ends tonight” on the last day
A deadline A printed date A countdown that shows the time left at each open
Proofing Printed or PDF proofs of sample records A preview drawn by the same renderer that serves the inbox, then a test send
A missing value Whatever the merge does with an empty field The fallback you set per variable: a default, a hidden layer or a hidden group
Personal URL or QR code A field per record A QR code layer per row
What it costs per piece Print and postage Image opens against your plan

The second row is the one a print team does not have. On paper, “this weekend only” stays on the fridge after the weekend ends. In email, a rule on the time of opening can swap the line, hide the code or show an ended state once the offer is over, so a late reader is not sent to a store with an expired code.

The reverse is also true. Data visualization such as a map from each address to the nearest store is on the USPS list for print; EmailTimer.app does not draw maps, and it does not fetch outside data while drawing. A store’s name, photo, address line and opening hours from your data file are what the email image can show.

For teams that send named awards or completion documents to a list, the same file-to-image flow covers certificates by email. For a broader view of how far per-person content can go in email, hyper-personalization sets out what needs data you may not have.

Woman taking letters out of her apartment mailbox
The printed piece arrives on the day the post brings it. The email can arrive the same morning and still be right on the evening the offer ends. Photo: Vika Glitter, Pexels

Running a mailing and its email together

When the postcard and the email are one campaign, keep these the same across both:

  • the code each person gets, so either one works at the till;
  • the store each person is sent to;
  • the offer’s end date and time, written the same way;
  • the suppressions: email opt-outs come off the email list and mail opt-outs come off the mail list, each checked on its own.

Then plan the timing. A printed piece arrives on whatever day the post delivers it, across a spread of days. An email lands when you send it. Sending the email to arrive around the expected delivery date, rather than days ahead, makes the two feel like one message.

Questions and answers

What is variable data printing used for?

Direct mail where each piece carries the recipient’s own details: name, nearest store, offer code, loyalty reward, a personalized URL or QR code. The USPS lists all of these as common uses.

What file format does variable data printing use?

Usually a CSV or other delimited text file, one record per row with field names in the first row. InDesign marks image columns with @ and QR code columns with #.

Is there variable data for email?

Yes. A recipient list plays the part of the data file, a template with variables plays the part of the print layout, and each row gets its own image address that draws that person’s picture when the email is opened.

Can I use my print data file for the email?

Mostly. Keep the columns the email needs, add an email column, and remove the image path and QR code columns, since the email template uploads photos once and draws QR codes from a value.

What can email do that a printed piece cannot?

Change after it is sent. A rule on the time of opening can swap the offer line or hide an expired code, and a countdown shows the time left at each open.

Sources

Related

Put a countdown in the campaign you are writing now

The free plan covers 5,000 opens a month with no card. Starter is $19 a month for 250,000.