You are on page 1of 301

Neolane Delivery

Neolane v6.1

This document, and the software it describes, are provided subject to a License Agreement and may not be used or copied outside of the
provisions of the License Agreement. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any
form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior written permission of Neolane.
The information contained in this document is provided for informational purposes only and may be revised without notice. It does not
constitute a commitment on the part of Neolane. Neolane does not guarantee the accuracy nor the completeness of the information
contained within this document. References to company names are intended to be ficticious and for illustrative purposes only and do not
refer to any real-world company.
Any brands cited are the property of their respective owners. Windows is the registered trademark of Microsoft Corporation in the United
States and other countries. Java, MySQL and Open Office are trademarks of Oracle Corporation in the United States and in other countries.
Linux is the registered trademark of Linus Torvalds in the United States and in other countries. This product includes software developed
by Apache Software Foundation (http://www.apache.org/).
For any questions or queries, please send a message to the following address: doc@neolane.com.

Version number : 8141

Neolane
18 rue Roger Simon Barboux, 94110 Arcueil - France
+33 1 41 98 35 35
www.neolane.com

Table of Contents

Neolane v6.1 - Neolane Delivery

Chapter 1. Introduction . . . . . . . . . . . . . . . . . . . . . . .

Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Creation modes . . . . . . . . . . . . . . . . . . . . . . . . . 7
Delivery channels . . . . . . . . . . . . . . . . . . . . . . . . . 8
Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
List of deliveries . . . . . . . . . . . . . . . . . . . . . . . . . 9
Delivery calendar . . . . . . . . . . . . . . . . . . . . . . . . 12
Delivery throughput . . . . . . . . . . . . . . . . . . . . . . . 12
Accessing the web interface . . . . . . . . . . . . . . . . . . . . . 13
Chapter 2. Creating deliveries

. . . . . . . . . . . . . . . . . . .

15

Delivering by email . . . . . . . . . . . . . . . . . . . . . . . . . 15
Creating a delivery . . . . . . . . . . . . . . . . . . . . . . . . 16
Defining the message content . . . . . . . . . . . . . . . . . . . 17
Selecting the target population . . . . . . . . . . . . . . . . . . . 36
Sending messages . . . . . . . . . . . . . . . . . . . . . . . . 45
Delivering on mobile channels: SMS, MMS . . . . . . . . . . . . . . . 62
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 63
SMS delivery . . . . . . . . . . . . . . . . . . . . . . . . . . 66
MMS Delivery . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Processing inbound messages . . . . . . . . . . . . . . . . . . . 82
Delivering by direct mail . . . . . . . . . . . . . . . . . . . . . . . 83
Creating the delivery . . . . . . . . . . . . . . . . . . . . . . . 83
Defining the content of the extraction file. . . . . . . . . . . . . . . . 83
Confirming the delivery . . . . . . . . . . . . . . . . . . . . . . 87
Extracting the data . . . . . . . . . . . . . . . . . . . . . . . . 89
Creating a delivery template . . . . . . . . . . . . . . . . . . . . . 92
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Creation modes . . . . . . . . . . . . . . . . . . . . . . . . . 93
Selecting a target mapping . . . . . . . . . . . . . . . . . . . . . 94
Using a delivery template . . . . . . . . . . . . . . . . . . . . . 95
Advanced delivery options . . . . . . . . . . . . . . . . . . . . . . 97
Attachments . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Seed lists . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Chapter 3. Personalizing deliveries . . . . . . . . . . . . . . . . .

115

Neolane v6.1 - Neolane Delivery | 3

Neolane

Personalization fields . . . . .
Data sources . . . . . . .
Inserting a personalization field
Personalization example . .
Adding personalization blocks
Conditional content . . . . .

.
.
.
.
.
.

115
115
116
116
118
121

Chapter 4. Information and sponsoring services . . . . . . . . . . . . . . .

127

Creating and managing information services . .


Overview . . . . . . . . . . . . . .
Creating an information service . . . . . .
Adding and deleting subscribers . . . . .
Delivering to the subscribers of an information
Subscription and unsubscription mechanisms
Viral marketing and social networks . . . . .
Overview . . . . . . . . . . . . . .
Social networks: sharing a link . . . . . .
Viral marketing: forward to a friend . . . .
Information tracking . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

127
127
128
130
131
132
135
135
136
138
139

Chapter 5. Tracking deliveries . . . . . . . . . . . . . . . . . . . . . . .

141

Delivery dashboard . . . . . . . . . .
Delivery summary . . . . . . . . . .
Delivery tracking . . . . . . . . . .
Delivery log and history . . . . . . . .
Access to tracking logs . . . . . . . .
Tracking the number of messages sent . .
Message tracking . . . . . . . . . . .
Overview . . . . . . . . . . . . .
Configuring tracking . . . . . . . . .
Accessing the logs . . . . . . . . .
Advanced parameters . . . . . . . .
Quarantined addresses . . . . . . . . .
Overview . . . . . . . . . . . . .
Error handling . . . . . . . . . . .
Quarantine mechanism . . . . . . . .
Access to quarantines . . . . . . . .
Reports . . . . . . . . . . . . . . .
Accessing existing reports . . . . . . .
Using reports . . . . . . . . . . . .
Global reports . . . . . . . . . . .
Delivery reports . . . . . . . . . . .
Cumulative reports . . . . . . . . .
Additional information on report indicators .
Example . . . . . . . . . . . . .
Indicator calculation formulas . . . . .
Other indicators . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

142
142
142
143
144
144
145
145
145
147
148
150
150
150
155
157
158
158
158
159
170
178
179
179
187
193

A. Neolane Mobile App Channel Option . . . . . . . . . . . . . . . . . . .

195

Configuration . . . . . . . . . . . . . .
Introduction . . . . . . . . . . . . .
Main configuration steps . . . . . . . .
Data path . . . . . . . . . . . . . .
Integrating the SDK into the mobile application
Configuring the mobile application in Neolane
Implementation . . . . . . . . . . . . .
Sending notifications in iOS . . . . . . .

197
197
197
198
199
202
207
209

4 | Neolane 2013

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

. . .
. . .
. . .
. . .
service
. . .
. . .
. . .
. . .
. . .
. . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

Neolane Delivery

Sending notifications on Android . . . . . . . . . . . . . . . . . . . . .

213

B. Neolane Barcode Generator . . . . . . . . . . . . . . . . . . . . . .

217

Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Implementation in email . . . . . . . . . . . . . . . . . . . . . . . . . .

217
218

C. Neolane Email Deliverability option . . . . . . . . . . . . . . . . . . .

223

Overview . . . . . . . . . .
Managing the deliverability functions
Qualifying bounce mails . . . .
Technical monitoring . . . . . .
Inbox monitoring . . . . . . .
Inbox rendering . . . . . . . .
Overview . . . . . . . . .
Overall operation . . . . . .
Using an external table . . . .
SpamAssassin . . . . . . . .

.
.
.
.
.
.
.
.
.
.

223
223
224
224
225
226
226
226
228
230

D. Content management . . . . . . . . . . . . . . . . . . . . . . . . .

233

Overview . . . . . . . . . . . . . . . . . . . . . . . . . .
Operating principle . . . . . . . . . . . . . . . . . . . . .
Advantages . . . . . . . . . . . . . . . . . . . . . . . .
Constraints . . . . . . . . . . . . . . . . . . . . . . . .
Implementation . . . . . . . . . . . . . . . . . . . . . . . .
Operation . . . . . . . . . . . . . . . . . . . . . . . . .
Resources . . . . . . . . . . . . . . . . . . . . . . . . .
Quick start: 6 steps for creating and using content management in Neolane .
Overview . . . . . . . . . . . . . . . . . . . . . . . . .
Step 1 - Analyzing the content to be produced . . . . . . . . . . .
Step 2 - Creating the data schema for content management . . . . . .
Step 3 - Creating the input form . . . . . . . . . . . . . . . . .
Step 4 - Creating the construction template for output documents . . . .
Step 5 - Creating the publication template . . . . . . . . . . . . .
Step 6 - Creating contents . . . . . . . . . . . . . . . . . . .
Data schemas . . . . . . . . . . . . . . . . . . . . . . . .
Schema structure . . . . . . . . . . . . . . . . . . . . . .
Data types . . . . . . . . . . . . . . . . . . . . . . . . .
Properties . . . . . . . . . . . . . . . . . . . . . . . . .
Collection elements . . . . . . . . . . . . . . . . . . . . .
Element referencing . . . . . . . . . . . . . . . . . . . . .
Compute string . . . . . . . . . . . . . . . . . . . . . . .
Editing schemas . . . . . . . . . . . . . . . . . . . . . .
Input forms . . . . . . . . . . . . . . . . . . . . . . . . .
Form structure . . . . . . . . . . . . . . . . . . . . . . .
Formatting . . . . . . . . . . . . . . . . . . . . . . . . .
List type controls . . . . . . . . . . . . . . . . . . . . . .
Containers . . . . . . . . . . . . . . . . . . . . . . . . .
Editing forms . . . . . . . . . . . . . . . . . . . . . . . .
Formatting . . . . . . . . . . . . . . . . . . . . . . . . . .
JavaScript templates . . . . . . . . . . . . . . . . . . . . .
XSL Stylesheets . . . . . . . . . . . . . . . . . . . . . .
Image management . . . . . . . . . . . . . . . . . . . . .
Date display . . . . . . . . . . . . . . . . . . . . . . . .
Publication template . . . . . . . . . . . . . . . . . . . . . .
Identification of a publication template . . . . . . . . . . . . . .
Creating and configuring the template . . . . . . . . . . . . . .
Using a content template . . . . . . . . . . . . . . . . . . . .

234
235
235
235
236
236
236
236
236
237
238
240
243
246
246
249
249
250
250
250
251
251
252
252
252
253
253
255
256
256
256
263
266
267
268
268
269
273

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Neolane v6.1 - Neolane Delivery | 5

Neolane

Creating a delivery via content management


Creating a content instance . . . . . .
Delivering a content instance . . . . . .
Enriching the content with external data . .
Generic queries . . . . . . . . . . .
Linked tables . . . . . . . . . . . .
Automating content creation via workflows .
Content activity . . . . . . . . . . .
Examples . . . . . . . . . . . . .
Semi-automatic update . . . . . . . .

.
.
.
.
.
.
.
.
.
.

274
275
280
281
281
283
286
286
288
294

E. Personalizing PDF documents option . . . . . . . . . . . . . . . . . .

297

Dynamic tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
External images . . . . . . . . . . . . . . . . . . . . . . . . . . . .

298
298

6 | Neolane 2013

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

CHAPTER 1

Introduction

Table of Contents
Overview . . . . . . .
Creation modes . . . .
Delivery channels . . .
Navigation . . . . . . .
List of deliveries . . . .
Delivery calendar . . .
Delivery throughput . .
Accessing the web interface

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.

7
7
8
9
9
12
12
13

Overview
Neolane Delivery lets you create and send personalized messages on different channels and measure
their effectiveness using various dedicated reports.
Neolane Delivery gives access to functionality including targeting, definition and personalization of
messages, execution of communications, and the associated operational reports. The main functional
access point of Neolane Delivery is its delivery wizard. This access point leads to several features
(standard or optional) covered by Neolane Delivery.
All deliveries can be accessed from the global delivery overview. In the menu available on the home
page header, select Deliveries to access the list of deliveries.

Creation modes
You can create a delivery via the overview or via the Create>Delivery menu. You can also open
a delivery, start it, stop it, or display various related reports.
If you use the Explorer view, you can access all deliveries via the Campaign
management>Deliveries node in the tree.
The delivery wizard lets you configure your deliveries, launch the approval process, and send. The
content of the wizard depends on the delivery channel (e-mail, SMS, direct mail, fax) and the
operator rights.

Neolane v6.1 - Neolane Delivery - Introduction | 7

Neolane

Note:
The delivery wizard lets you create deliveries with two possible delivery modes:
n
n

Direct mass delivery via Neolane (default mode for e-mail deliveries).
External delivery via a specialist operator who is given the output file generated by the delivery wizard
(default mode for SMS and direct mail deliveries).

External accounts are configured via the Administration>Platform>External accounts node. This
configuration should be performed by expert users only.

Delivery channels
There are two types of delivery: online deliveries carried out via e-mail or one of the mobile channels and
offline deliveries which concern the direct mail channel only.
Neolane offers the following delivery channels:

1 Email channel: email deliveries let you send personalized emails to the target population. Refer to
2
3

Delivering by email [page 15].


Direct mail channel: direct mail deliveries let you generate an extraction file which contains data on the
target recipients. Refer to Delivering by direct mail [page 83].
Mobile channels: deliveries via mobile channels let you send personalized SMS or MMS messages to the
target recipients. Refer to Delivering on mobile channels: SMS, MMS [page 62].

Note:
Neolane also offers Fax or Telephone type deliveries. The default delivery templates offered depend on your
license contract.
'Other' type deliveries use a specific technical template which does not execute a process. This lets them
manage marketing actions executed outside of the Neolane platform.

8 | Neolane 2013

Introduction

Navigation
Once you are connected, you will see the Neolane v6.1. home page. It is laid out like a dashboard: Links
and shortcuts take you to the various Neolane Delivery functionalities and the general platform configurations.

Note:
The content of the various pages varies depending on the installed applications and operator rights. It is
likely that the pages shown here do not look like your own configuration.
The general interface is presented in Neolane Platform.

List of deliveries
To access the list of deliveries, go to the Campaigns universe and click the Deliveries link.
This page lets you access an overall view of your deliveries: It displays all the deliveries in your database.
You can view their status, success rate, and modification dates.

Neolane v6.1 - Neolane Delivery - Introduction | 9

Neolane

Note:
Information filtering is presented in Neolane Platform.

To manipulate the deliveries in the list, click a delivery. It opens in a new window and you can confirm its
delivery or to pause it, for example.

10 | Neolane 2013

Introduction
Depending on the stage of the delivery cycle, the main possible statuses are:
n
n
n
n
n
n
n
n
n
n
n

Cancelled
Failed
Pending
Finished
Paused
Retry pending
In progress
Ready for delivery
Preparation in progress
Target calculation
Being edited

Each status has its own color and label.

Note:
The drop-down list next to the Create button enables you to filter deliveries based on their status.

Neolane v6.1 - Neolane Delivery - Introduction | 11

Neolane

Delivery calendar
To access the delivery calendar, go to the Campaign universe and click the Delivery calendar link. This
calendar displays the breakdown of deliveries over time. You can personalize the display by month, week,
or day.

Click the name of a delivery to display the main information about it. You can also open the delivery if
necessary by clicking Open.

Delivery throughput
The information on the Delivery throughput page concerns all the deliveries of the platform. The
measurement criteria are the number of messages sent per hour and the size of the messages (bits per
second). In the example below, the first graph shows the first successful delivery in blue and the failed
deliveries in orange.

12 | Neolane 2013

Introduction
You can choose the time slot for which the throughput is calculated. To do this, select the value from the
drop-down list, and then click Refresh.

Accessing the web interface


You can access the screens of the Neolane console via an internet browser to view all the deliveries on the
platform as well as the reports and information on the profiles in your database. This access does not enable
record creation. Depending on operator rights, you may view or act on the data in your database, such as
re-start or strop a delivery.
Moreover, the universes and links available may vary as a function of the rights assigned to the operator
who logs on. Operators with limited rights may not view information on instance operation.

1 Log on as usual via http://<your instance>:<port>/xtk/dashboard.jssp.


2 Use the universes to access overviews.

Neolane v6.1 - Neolane Delivery - Introduction | 13

Neolane

14 | Neolane v6.1 - Neolane Delivery

CHAPTER 2

Creating deliveries

Table of Contents
Delivering by email . . . . . . . . . . . . . . . . . . . . . . . . .
15
Creating a delivery . . . . . . . . . . . . . . . . . . . . . . . . . 16
Defining the message content . . . . . . . . . . . . . . . . . . . . . 17
Selecting the target population . . . . . . . . . . . . . . . . . . . . 36
Sending messages . . . . . . . . . . . . . . . . . . . . . . . . . 45
Delivering on mobile channels: SMS, MMS . . . . . . . . . . . . . . . . . 62
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . .
63
SMS delivery . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
MMS Delivery . . . . . . . . . . . . . . . . . . . . . . . . . .
76
Processing inbound messages . . . . . . . . . . . . . . . . . . . . . 82
Delivering by direct mail . . . . . . . . . . . . . . . . . . . . . . . . 83
Creating the delivery . . . . . . . . . . . . . . . . . . . . . . . . 83
Defining the content of the extraction file. . . . . . . . . . . . . . . . . 83
Confirming the delivery . . . . . . . . . . . . . . . . . . . . . . . 87
Extracting the data . . . . . . . . . . . . . . . . . . . . . . . . . 89
Creating a delivery template . . . . . . . . . . . . . . . . . . . . . . 92
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Creation modes . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Selecting a target mapping . . . . . . . . . . . . . . . . . . . . . . 94
Using a delivery template . . . . . . . . . . . . . . . . . . . . . . 95
Advanced delivery options . . . . . . . . . . . . . . . . . . . . . . . 97
Attachments . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Seed lists . . . . . . . . . . . . . . . . . . . . . . . . . . .
108

Delivering by email
Neolane lets you mass deliver personalized electronic messages. The steps described below assume
that all target recipients and their profiles are stored in the database. Recipient profiles must contain
at least an e-mail address.

Note:
If the profiles are not stored in the database, you can perform an external delivery. See External
deliveries [page 44].
The delivery steps for the e-mail channel are as follows:

Neolane v6.1 - Neolane Delivery - Creating deliveries | 15

Neolane

1 Creating a delivery
For more on this, refer to Creating a delivery [page 16].

2 Configuring the contents of the message.


3

For more on this, refer to Defining the message content [page 17].
Choice of target population.

For more on this, refer to Selecting the target population [page 36]
Message delivery
For more on this, refer to Sending messages [page 45]

5 Delivery monitoring (tracking, quarantine, reports, etc.).


For more on this, refer to Tracking deliveries [page 141]

Creating a delivery
Selecting the delivery channel
To create a delivery, click Create above the list of deliveries. When you create a new delivery, you must
indicate the delivery channel used. To do this, select the appropriate delivery template from the drop-down
list in the Delivery template field.

A default template is provided for each channel you have installed: direct mail, e-mail, fax, telephone, mobile
channels (MMS and SMS), Facebook, Twitter, etc.

Note:
The channels offered in the list depend on your licensing conditions.
You can create new delivery templates in order to pre-configure specific parameters to suit your needs. For
further information about templates, see Creating a delivery template [page 92].

16 | Neolane 2013

Creating deliveries

Delivery identification
n

Enter a name for this campaign in the Label field. A delivery code can also be assigned to the delivery.
The delivery name and code appear in the delivery list, but are not visible to message recipients.
You can add a description in the Description field.
Indicate the delivery nature in the relevant field. This information is useful for delivery tracking: you can
filter based on this criterion in the delivery list or build queries using this selection criterion.

Click Continue to confirm this information and display the message configuration window.

Defining the message content


Sender
To define the name and address of the sender which will appear in the header of messages sent, click the
From link.

This window lets you enter all the information required to create the headers of e-mail messages. This
information can be personalized. To do this, use the buttons to the right of the input fields to insert
personalization fields.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 17

Neolane
To find out how to insert and use personalization fields, refer to Personalizing deliveries [page 115].

Note:
n
n

n
n

The sender's address will be used for replies by default.


The header parameters must not be empty. By default, they contain the values input when configuring
the deployment wizard. For further information, refer to the Installation Guide.
The sender's address is mandatory to allow an e-mail to be sent (RFC standard).
Neolane checks the syntax of e-mail addresses entered.

Warning:
In the context of the checks implemented by Internet Access Providers to combat unsolicited e-mail (spam),
Neolane recommends creating e-mail accounts that correspond to the addresses specified for deliveries and
replies. Check with your messaging administrator.

Message subject
The subject of the message is configured in the corresponding field. You can enter it directly in the field or
click the Subject link to enter a script. The personalization link lets you insert database fields in the subject.

Note:
The use of personalization fields is presented in Personalizing deliveries [page 115].

The field content will be replaced by the value in the recipient profile when the message is sent.

18 | Neolane 2013

Creating deliveries
For example, in the message below, the subject of the message is personalized for each recipient with data
from the recipient's profile.

Warning:
The message object is mandatory.

Body of the message


The content of the message is defined in the lower section of the delivery configuration window.
Messages are sent in HTML or text format by default, according to recipient preference. It is advisable to
create a content in both formats to ensure that messages can be correctly displayed in any mail system. For
more on this, refer to Selecting message formats [page 25].
HTML format
Use the Open button to import an existing content. For HTML content, you can also paste the source code
directly into the Source sub-tab.

Warning:
The HTML content must be created beforehand, then imported into Neolane. The HTML editor isn't designed
for content creation.
The Preview sub-tab lets you view the rendering of each content for a recipient. The personalization fields
and the conditional elements of a content are replaced with the corresponding information for the selected
profile.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 19

Neolane
Use the central window to enter the contents of the message. The toolbar buttons provide access to the
standard actions and formatting parameters for the HTML page.

You can insert images in messages from a local file or from an image library in Neolane. To do this, click the
Image icon and select the required image.

Library images are accessible via the Resources>Online>Public resources folder of the tree. Also refer
to Handling images in emails [page 30].
The last button on the toolbar lets you insert personalization fields.

Note:
The use of personalization fields is described in Personalizing deliveries [page 115].
The tabs at the bottom of the page let you display the HTML code of the page being created and view the
rendering of the message with its personalization. To launch this display, click Preview and select a recipient

20 | Neolane 2013

Creating deliveries
using the Test personalization button in the toolbar. You can select a recipient from the defined target(s)
or select another recipient.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 21

Neolane
You can approve the HTML message. You can also view the content of the e-mail header.

Text format
Use the Open button to import existing content, or the Text Content tab to enter the content of the message
when displayed in text format. Use the toolbar buttons to access actions on the contents. The last button
lets you insert personalization fields.

Note:
The use of personalization fields is described in Personalizing deliveries [page 115].

22 | Neolane 2013

Creating deliveries
The Preview sub-tab lets you view rendering for a recipient. Personalization fields and conditional content
elements are replaced with the relevant information for the profile you choose to preview.

Click the Preview tab at the bottom of the page to view the rendering of the message with its personalization.
To launch the preview, you must select a recipient using Test personalization in the toolbar. You can
select a recipient from the defined target(s) or select another recipient. The personalization fields are then
filled in with the data contained in the profile of the selected recipient.

You can approve the message. You can also view the content of the e-mail header.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 23

Neolane
Delivery priority
You can influence the sending order for your deliveries by stating their priority level. This lets you prioritize
the order for certain, more urgent deliveries over others.
Edit delivery properties, and select the Send tab.

Select the priority level for the delivery on a scale from "very low" to "very high".

24 | Neolane 2013

Creating deliveries
Selecting message formats
You can change the format of e-mail messages sent. To do this, edit the delivery properties and click the
Delivery tab.

Select the format of the e-mail in the lower section of the window:
n

Use recipient preferences (default mode)

The message format is defined according to the data stored in the recipient profile and stored by default
in the E-mail format field (@emailFormat). If a recipient wishes to receive messages in a certain format,
this is the format sent. If the field is not filled in, a multipart-alternative message is sent (see below).
Let recipient mail client choose the most appropriate format
The message contains both formats: text and HTML. The format displayed on reception depends on the
configuration of the recipient's mail software (multipart-alternative).

Warning:
This option includes both versions of the document. It therefore impacts the delivery rate, because the
message size is greater.

Send all messages in text format


The message is sent in text format. HTML format will not be sent, but used for the mirror page only when
the recipient clicks on the message.

Message delivery sequence


This field lets you influence the message processing sequence by grouping recipients according to the selected
criteria.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 25

Neolane
Analysis priority
When the delivery is part of a campaign, the Advanced tab offers an additional option. This lets you organize
the processing order for deliveries in the same campaign to optimize campaign completion.

Before sending, each delivery is analyzed. The analysis duration depends on the delivery extraction file. The
more significant the size of the file, the longer the analysis takes, making the following deliveries wait.
The options for the Message preparation by the scheduler lets you prioritize the delivery analysis in a
campaign workflow.
If a delivery is too large, it is better to assign a low priority to it in order to avoid slowing down the analysis
of other workflow deliveries.

Note:
To ensure that the larger delivery analyses do not slow down the progress of your workflows, you can
schedule their executions by ticking the Schedule execution for a time of low activity.

26 | Neolane 2013

Creating deliveries
Using content management
You can define the content of the delivery using the content management forms, directly in the delivery
wizard. To do this, you must reference the publication template of the content management to be used, in
the Advanced tab of the delivery properties.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 27

Neolane
An additional tab lets you enter content that will automatically be integrated and formatted according to the
content management rules.

Note:
For further information about content management in Neolane, refer to the Configuration guide.

Attachments
You can attach one or more files to an e-mail delivery. Attachments can be in any format. You can also attach
zipped files. If necessary, the content of the attachment can be personalized for each recipient.

Note:
The name of the attachment can be computed for each message as it is sent, and can depend on the recipient.
It can also be personalized and converted to PDF at the time of sending. In these cases, it must be a computed
attachment. See Attachments [page 97].
To attach a file:
n

Select the file to be attached. Drag and drop it in the Attachments field. After validation, the file is
uploaded onto the server.

28 | Neolane 2013

Creating deliveries
n

Or click the Attach icon in the delivery wizard toolbar, and then select the file to be attached to the
delivery.
Or click the Attachments link and then the Add button, and select File... to select the file to be attached
to the delivery.

Select the file to attach to the delivery and click OK.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 29

Neolane
After validation, the file is uploaded onto the server. The progress bar lets you monitor its progress:

You can attach several files to your delivery. They are listed in the Attachments field.

Handling images in emails

Warning:
To include images in the email messages using the delivery wizard, the Neolane instance must be configured
to enable public resource management. This procedure can be performed from the deployment wizard. Refer
to the Installation Guide for further information on configuration.
HTML format email deliveries can contain images. From the delivery wizard, you can import an HTML page
containing images or insert images directly using the HTML editor via the Image icon. These images can
be local, taken from a server, or stored in the Neolane public resource library.

Note:
Public resources are accessible via the Administration>Public resources node of the Neolane hierarchy.
They are grouped in a library and can be included in e-mail messages, but can also be used for campaigns
or tasks, or for content management.

30 | Neolane 2013

Creating deliveries
The delivery wizard lets you add local images, or images stored in the library, to the content of messages.
To do this, click the Image button in the HTML content toolbar.

In order for the recipients to be able to view the images included in the messages that they receive, these
messages must be available on a server accessible from the outside.
To manage images via the delivery wizard, you must click the Tracking & Images icon in the toolbar.

Select Upload images in the Images tab. You can then choose whether you wish to include the images
in the e-mail message.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 31

Neolane
n

You can upload images manually without waiting for the delivery analysis phase. To do this, click the
Upload images now link.
You can specify another path for access to the images on the tracking server. To do this, enter it in the
Image URL field. This value overrides the value defined in the parameters of the installation wizard.

Note:
When you edit HTML content with included images in the delivery wizard, a message gives you the option
of uploading the images immediately, according to the delivery parameters.

Example: Procedure for delivering a message with images

32 | Neolane 2013

Creating deliveries
Using the example of a delivery with four images:

Neolane v6.1 - Neolane Delivery - Creating deliveries | 33

Neolane
These images come from a local directory or Web site as you can verify from the Source tab.

Warning:
The image access paths are modified during manual uploading or when sending messages.
Click the Tracking & Images icon and then the Images tab to start detecting images in the message.
For each image detected, you can view its status:
n

n
n

If an image is stored locally or located on another server, even if this server is visible from the outside
(on an internet site, for example), it will be detected as Not yet online.
The images are detected as Already online if they were uploaded earlier while creating another delivery.
In the deployment wizard, you can define URLs for which image detection is not enabled: uploading
these images will be Skipped.

Note:
Images are identified by their content and not by their access paths. This means that an image uploaded
previously under a different name or in a different directory will be detected as Already online.
During the analysis phase, the images are automatically uploaded to the server so that they are accessible
from the exterior, except for the local images which must be uploaded beforehand.

34 | Neolane 2013

Creating deliveries
You can work ahead and upload images so that they can be viewed by other Neolane users. You may find
this useful if working collaboratively. To do this, click Upload the images straightaway... to upload the
images onto the server.

Click Start to start uploading. If local images are included in the message, you must confirm the modification
of the source code of the message:

Note:
The URLs of the images in the email, and their names in particular, are then modified.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 35

Neolane
Once the images are online, you can view changes to their names and paths from the Source tab of the
message.

If you select Include the images in the e-mail, you can choose which images to include in the
corresponding column.

Selecting the target population


Overview
Click the To link to select recipients for the delivery being created.
For each delivery, you can define several types of target:
n
n
n
n

Main recipients, see Main target [page 37].


Validation operators, proof recipients: see Proof target [page 42].
Control group (in the context of a marketing campaign only), see Neolane Campaign - MRM.
Seeds, see Seed lists [page 108].

You can also define filtering criteria on targeted recipients (see Main target [page 37]) and on proof recipients
(see Proof target [page 42]).
When clicking Send, you can choose to send the message directly to the main target or to set up a validation
cycle by sending a proof.

36 | Neolane 2013

Creating deliveries

Main target
The main target can be:
n

Taken from the database

The configuration of this type of delivery is presented below (default mode).


Contained in an external file
The configuration of this type of delivery is presented in External deliveries [page 44].

If the recipients are stored in the database, select the first option.

Warning:
To send a classic e-mail type delivery, keep the value Recipients in the Delivery mapping field.
The value Operators lets you send a delivery to Neolane operators (for further information about this type
of delivery, refer to Neolane Platform. The value Subscriptions lets you manage confirmation of
subscription/unsubscription deliveries (for more information about this type of delivery, refer to Creating and
managing information services [page 127]).
Click the Add button to define the filtering conditions.
You can then select the type of targeting to apply:

Neolane v6.1 - Neolane Delivery - Creating deliveries | 37

Neolane
You can select recipients using the types of targeting defined in the database. To use a target type, select
it and click Next. For each target, you can display the recipients concerned by clicking the Preview tab.
For certain types of target, the Refine target button lets you combine several targeting criteria.

Note:
It is recommended that you enter a name for this targeting in the Label field. The default label will be the
label of the first targeting criterion. For a combination, it is preferable to use an explicit name.
The following target types are offered by default:
n

Filtering conditions: this option lets you define a query and display the result. The method for defining
queries is presented in Neolane Platform.
Subscribers of an information service: this option lets you select an information service to which
the recipients must be subscribed to be targeted by the delivery being created.

Recipients of a delivery: this option lets you define the recipients of an existing delivery as a targeting
criterion. You must then select the delivery concerned:

38 | Neolane 2013

Creating deliveries
n

Delivery recipients belonging to a folder: this option lets you select a delivery folder and target the
recipients of the deliveries in that folder.

You can filter the behavior of recipients by selecting from the drop-down list:

Note:
The Include sub-folders option also lets you target the deliveries contained in folders located in the
tree structure below the selected node.

n
n

Recipients included in a folder: this option lets you target the profiles contained in a specific folder
of the tree.
A recipient: this option lets you select a specific recipient from the profiles in the database.
A list of recipients: this option lets you target a list of recipients. Lists are presented in the Neolane
Platform guide.
User filters: this option lets you access the preconfigured filters to use them as filtering criteria for
profiles in the database. Preconfigured filters are presented in Neolane Platform.

You can attribute a Segment code to the targeting. This code identifies the filtering condition by which a
recipient was added to the population targeted by a delivery action. The segment code can be viewed in the
delivery logs. Refer to the description of the Delivery tab in Delivery dashboard [page 142].

Neolane v6.1 - Neolane Delivery - Creating deliveries | 39

Neolane
The option Exclude recipients corresponding to this segment lets you target on recipients who do not
satisfy the defined target criteria. To use this option, select the appropriate box and then apply targeting,
as defined earlier, to exclude the resulting profiles.

Click Finish to validate the configured targeting.


The targeting criteria defined are summarized in the central section of the main target configuration tab.
Click a criterion to view its contents (configuration and preview). To delete a criterion, click the cross located
after its label.

40 | Neolane 2013

Creating deliveries
Exclusion settings
The Exclusions tab is used to limit the number of messages. Click the Edit... link to modify the default
configuration.

This means you can:


n

Exclude duplicate addresses during delivery. This option is active by default. It lets you eliminate
duplicate e-mail addresses during delivery. The strategy applied can vary according to how Neolane is
used and the type of data in the database.
The default value of the option can be configured for each delivery template.
For example:
n

Delivery of a newsletter or electronic document delivery. No exclusion of duplicates in some cases if


the data has no native duplicates. A couple subscribing with the same e-mail address can expect to
receive two specific personalized e-mail messages: one addressed to each individual by name. In this
case, this option must be deselected.
Delivery of a marketing campaign: duplicate exclusion is essential to avoid irritating recipients with
too many messages. In this case, this option must be selected.
If you deselect this option, you can access an additional option: Keep duplicate records (same
identifier). It lets you authorize multiple deliveries to recipients who satisfy several targeting criteria.

Exclude recipients who no longer want to be contacted, i.e. recipients whose e-mail addresses
are on a blacklist ('opt out'). This option must remain selected in order to observe the professional ethics
of e-marketing and the laws governing e-commerce.
Exclude quarantined recipients. This option lets you exclude from the target any profiles with an
address that does not respond. We strongly recommend keeping this option selected.

Note:
For further information about quarantine management, refer to Quarantined addresses [page 150].

Neolane v6.1 - Neolane Delivery - Creating deliveries | 41

Neolane
n

Limit delivery to a given number of messages. This option lets you enter the maximum number of
messages to be sent. If the contents of the target exceeds the number of messages indicated, a random
selection is applied to the target.

Proof target
The proof is a special message that lets you test a delivery before sending to the main target. Proof recipients
are responsible for approving both the form and content of the campaign.
The proof recipients are defined in the Target of the proofs tab. They can be selected according to several
methods. The Targeting mode field lets you choose the method to apply: Definition of a specific proof
target or Substitution of the address, Seed addresses or Specific target and seed addresses.

1 Definition of a specific proof target: this option lets you select the proof recipients from the profiles
in the database. When this option is selected, recipients are selected using the Add button, as in the
case of defining the main target (see Main target [page 37]).

2 Substitution of the address: this option lets you use the recipient profiles of the delivery and replace
their e-mail addresses with one or more other addresses that will receive the proof.

When this option is selected, the proof addresses will be filled in via a special editor that lets you configure
the substitution(s). Configuration is performed as follows:

1 Click the Add icon to define a substitution.


2 Enter the recipient address to be used, or select it from the list.
3 Select the profile to use in the proof:

42 | Neolane 2013

Creating deliveries
n

save the Random value in the Profile to use column to use the data of any profile of the target
in the proof,

click the Detail icon to select a profile from the main target, as in the following example:

You can define as many substitution addresses as necessary.

Seed addresses: this option lets you use or import a list of existing seed addresses.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 43

Neolane

Note:
Seed addresses are presented in Seed lists [page 108].

4 Specific target and Seed addresses: this option lets you combine the definition of a specific proof
target and the use of seed addresses. The relevant configurations are defined in two separate sub-tabs.

Note:
Generally, the target for the proof can be added to the main target. To do this, select the appropriate option
in the lower section of the Main target tab.

External deliveries
You can launch a delivery on recipients who are not saved in the database, but stored in an external file. To
do this, select the Defined in an external file option when defining the main target.

You can choose Do not import the recipients into the database. If not, you must select the Delivery
mapping. For a delivery, select the Recipients mapping.
Click the File format definition... link to select the source file and define the fields to import. This
screen should be completed like the import wizard screen. For further information about importing data,
refer to Neolane Platform.
The other delivery configuration steps are the same as for a standard delivery.

Warning:
When defining the content of the message for e-mail delivery, do not include the link to the mirror page; it
cannot be generated in this delivery mode.

44 | Neolane 2013

Creating deliveries

Sending messages
Validating the content
When a delivery has been created and configured, you must validate it before sending it to the main target.
To do this:

1 Analyze the delivery: this step lets you prepare the messages to deliver. Refer to Analyzing the delivery
[page 45].

Available validation modes are detailed in Approval modes [page 53].


Send a proof: this step lets you approve content, URLs, personalization fields, etc. Refer to Sending a
proof [page 48] and Validation with proofs [page 50].

Warning:
Both these steps must be carried out after the message content has been altered.
Analyzing the delivery
The analysis is the stage during which the target population is calculated and the delivery content prepared.
Once it is complete, the delivery is ready to send. To launch the delivery analysis, click Send and then select
Deliver as soon as possible.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 45

Neolane
The Analyze button lets you launch the analysis manually. The progress bar shows the progress of the
analysis. The lower section of the window displays the analysis result. Special icons display warnings.

Note:
The validation rules are described in Campaign typologies [page 52].
You can stop this job at any time by clicking Stop.

No messages are sent during the analysis phase. You can therefore start or cancel this job without risk.

Warning:
The analysis freezes the delivery (or the proof) at the moment of analysis. Any modification to the delivery
(or the proof) must be followed by another analysis before becoming applicable.

46 | Neolane 2013

Creating deliveries
The last log message displays any error messages and the number of errors. A special icon shows the error
type: The yellow icon indicates a non-critical processing error, the red icon indicates a critical error that
prevents delivery.

Click Close to correct the errors. After making the changes, you must restart the analysis.
Check the result of the analysis before clicking Confirm delivery to send the message to the specified
target. A confirmation message lets you launch the delivery.

Note:
Click the Change the main delivery target link if the number of messages to send does not match your
configuration. This lets you change the definition of the target population and re-start the analysis.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 47

Neolane
Advanced parameters
The delivery parameters Analysis tab lets you define a set of information concerning the preparation of
messages during the analysis phase.

This tab gives access to the following options:


n

Label and code of the delivery: the options concerning this section of the screen are used to calculate
the values of these fields during the delivery analysis phase. The Calculate the execution folder
during the delivery analysis field computes the name of the folder that will contain this delivery action
during the analysis phase.
Approval mode: this field lets you select the type of delivery approval. The approval modes are presented
in Campaign typologies [page 52].
Start job in a detached process: This option lets you start the delivery analysis in a separate process.
The analysis function uses the Neolane application server process (web nlserver) by default. By selecting
this option, you ensure that the analysis will be completed even in the event of application server failure.
Log SQL queries generated during the analysis in the journal: this option adds the SQL query
logs to the delivery journal during the analysis phase.
Ignore personalization scripts during sending: this option lets you bypass the interpretation of
JavaScript directives found in HTML content. They will be displayed as is in the delivered contents. These
directives are introduced with the <% tag)

Sending a proof
A proof lets you test the delivery on an approval group before sending it to the main target. It lets you
approve message content and delivery parameters.

Note:
n
n

Available validation modes are detailed in Approval modes [page 53].


Configuration of the proof target is explained in Proof target [page 42].

48 | Neolane 2013

Creating deliveries
To send a proof, click Send a proof.

The next step is to start message analysis and delivery. See Analyzing the delivery [page 45].
After being sent, the proof appears in the delivery list. It can be edited if you wish to access its content and
properties. See Delivery dashboard [page 142].

Note:
If several formats were created for the delivery (HTML and Text), you can choose the format of the messages
to be sent to the proof recipients in the lower section of the window:

Advanced parameters

Neolane v6.1 - Neolane Delivery - Creating deliveries | 49

Neolane
The Advanced tab of delivery properties lets you define the properties of the proof and in particular override
the recipient exclusion rules.

The following options are available:


n
n

The first option lets you keep the proof doubles.


Both of the following options let you keep blacklisted recipients and addresses in quarantine. See the
description of these options for the main target in Exclusion settings [page 41]. Unlike the target of a
delivery, where these addresses are excluded by default, they are kept by default for the target of a
proof.
The Keep the delivery code for the proof option lets you give the proof the same delivery code as
the one defined for the delivery to which it relates. This code is specified in the first step of the delivery
wizard.
By default, the label of the proof is the delivery label prefixed by 'Proof'. You can change this prefix in
the Label prefix field.

Validation with proofs


To detect possible errors in message configuration, we highly recommend setting up a delivery validation
cycle. Make sure content is approved as often as necessary by sending proofs to test recipients. A proof
should be sent each time a change is made, to approve content.
To do this, apply the following steps:

50 | Neolane 2013

Creating deliveries

1 When your delivery has been created, open it via the delivery list and select the option to send a proof.

2 The target and message format have been configured - as described in Proof target [page 42] -, you can
launch the analysis and then start delivery. The proof is automatically created and numbered.
The various proofs are visible in the delivery list.

3 You might wish to modify the content of the delivery as a result of any comments made by the validation
group receiving the proof. After making your changes, you must relaunch the analysis and then send
another proof. Each new proof is numbered and logged in the delivery journal.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 51

Neolane
Once the delivery has been analyzed, you can view the various proofs sent via the Proofs sub-tab of
the log (Tracking tab).

You must send as many proofs as necessary until the content of the delivery is finalized. After that, you
can send the delivery to the main target and close the validation cycle.
Campaign typologies
Before sending any messages, you should analyze the campaign to approve its contents and configuration.
The checking rules applied during the analysis phase are defined in a typology. By default, for e-mails, the
analysis covers the following points:
n
n
n
n
n
n
n

Approving the subject,


Approving the URLs and images,
Approving the URL labels,
Approving the unsubscription link,
Checking the size of proofs,
Checking the validity period,
Checking the scheduling of waves

The typology to be applied for each delivery is selected in the Typologies tab in the delivery parameters.
You can view and edit the approval rules, their content, their order of execution, and their full description
via the Campaign execution>Administration>Typology management>Typology rules node.
You can create new rules and define new typologies from this node. These tasks are however reserved for
expert users who know JavaScript.
To edit the current typology, click the Edit link icon to the right of the Typology field.

52 | Neolane 2013

Creating deliveries
The Rule tab gives a list of the typology rules to apply. Select a rule and click the Detail... icon to view its
configuration:

Note:
Arbitration type typologies are used within the framework of sales pressure management. For more on
this, refer to the Neolane Campaign Optimization chapter of the Neolane Campaign - MRM guide.
Approval modes
The Analysis tab for delivery properties lets you select the validation mode. If warnings are generated during
the analysis (e.g., if certain characters are accentuated in the subject of the delivery, etc.), you can configure
the delivery to define whether or not it should still be executed. By default, the user must confirm the sending
of messages at the end of the analysis phase: this is manual validation.
Select another approval mode from the drop-down list in the appropriate field.

The following approval modes are available:

1 Manual
At the end of the analysis phase, the user must confirm delivery to start sending. To do this, click the
Start button to launch the delivery.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 53

Neolane

2 Semi-automatic
Sending begins automatically if the analysis phase generates no warning messages.

3 Automatic
Sending begins automatically at the end of the analysis phase irrespective of its result.

Sending to the main target


To deliver messages to the recipients, you must click the Send button in the toolbar of the delivery window.
You can then decide to send the message to the main target. For more on configuring the main target of
the delivery, refer to Main target [page 37].
You can also schedule a delivery for a later date: see Delivery scheduling [page 54].
Finally, you can estimate the target population using the last option.

Sending messages
When you decide to send the messages, you must first run the delivery analysis. This analysis checks the
validity of the message content and corrects any errors before sending messages to the main target. for
more on this, refer to Analyzing the delivery [page 45].
Once the analysis is complete, click Confirm delivery to launch the delivery of messages.
You can then close the delivery wizard and track the execution of the delivery from the Delivery tab,
accessible via the detail of this delivery or via the list of deliveries.
Delivery scheduling
You can defer the delivery of messages in order to schedule the delivery or to manage sales pressure and
avoid over-soliciting a population.
To do this, click the Send button and select the Postpone delivery option.

54 | Neolane 2013

Creating deliveries
Specify a start date in the Contact date field.

You can then start the analysis (Analyze button) and then delivery (Confirm delivery button), but it will
not start until the date given in the Contact date field.

It will appear with Start pending status in the delivery list.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 55

Neolane
Scheduling can be configured upstream via the Scheduling button of the delivery.

It lets you defer the delivery to a later date or save the delivery in the provisional calendar.
n

The Schedule delivery (no automatic execution) option lets you schedule a provisional analysis of
the delivery.
When this configuration is saved, the delivery changes to Targeting pending status. The analysis will
be launched on the specified date.
The Schedule delivery (automatic execution on planned date) option lets you specify the delivery
date.
Click Send and select Postpone delivery then launch the analysis and confirm delivery. When the
analysis is complete, the delivery target is ready and messages will automatically be sent on the specified
date.

56 | Neolane 2013

Creating deliveries

Note:
Dates and times are expressed in the time zone of the current operator. The Time zone drop-down list
located below the contact date input field lets you automatically convert the entered date and time into the
selected time zone.
For instance, if you schedule a delivery to be executed automatically at 8 o'clock London time, the time is
automatically converted into the selected time zone:

Managing the mirror page


The mirror page is an HTML page accessible online via a web browser. Its content is identical to the e-mail.
By default, the mirror page is generated if the link is inserted in the content of the mail. In the delivery
properties, the Mode field of the Validity tab lets you modify the generation mode for this page.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 57

Neolane

Warning:
An HTML content must have been defined for the delivery for the mirror page to be created.
In addition to the default mode, the following options are also available:
n

Force the generation of the mirror page: even if no link to the mirror page is inserted in the delivery,
the mirror page will be created.
Do not generate the mirror page: no mirror page is generated, even if the link is present in the
delivery.
Generates a mirror page accessible using only the message identifier: this option lets you access
the content of the mirror page, with personalization information, in the delivery log window. To do this,
after the end of the delivery, click the Delivery tab and select the line of the recipient whose mirror
page you wish to view. Click the Display the mirror page for this message... link.

Delivery sending settings


n

Priority

This option allows you to define the sending priority of the delivery (normal, high or low).
Message batch quantity
This option allows you to define the number of messages grouped within the same XML delivery package.
If the parameter is set for 0, the messages are automatically grouped. The package size is defined by
the calculation <delivery size>/1024, with a minimum of 8 and a maximum of 256 messages by package.

Warning:
When the delivery is duplicated, the parameter is reset.

Send using multiple waves


You can divide deliveries into several batches in order to even out the load. To do this, open the delivery
properties window and click the Delivery link to configure the number of waves and their proportion
with respect to the whole delivery.

58 | Neolane 2013

Creating deliveries
Select the Send using multiple waves option and click Define waves... to configure the number of
waves and their proportion with respect to the whole delivery.

A wave can be a fixed number or a percentage of the messages.

However, the recipient selection criteria for each wave cannot be configured.
Testing SMTP delivery
This option allows you to test sending a delivery via SMTP. The delivery is processed up to connection
to the SMTP server but is not sent.

Note:
Using this option is not advised when installing using mid-sourcing as to not call mta.
For more information on configuring an SMTP server, refer to the Personalizing delivery parameters
section.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 59

Neolane
Personalization
The Personalization tab lets you edit the recipient profile loading query. The result of this query can
be viewed via the Preview tab in the message contents editor. You can also add more script objects, which
will be loaded during the analysis phase.
Configuring retries
Temporarily undelivered messages are subject to an automatic retry.
The central section of the Delivery tab for delivery parameters indicates how many retries should be
performed the day after the delivery and the minimum delay between retries.

By default, five retries are scheduled for the first day of the delivery with a minimum interval of one hour
spread out over the 24 hours of the day. One retry per day is programmed after that and until the delivery
deadline, which is defined in the Validity tab. See Delivery period [page 61].

Warning:
If the Max. number of retries option is set to 0, the number of retries carried out is infinite.
Additional delivery configurations
When delivery has been launched, various additional configurations can be used to manage its life cycle.

60 | Neolane 2013

Creating deliveries
Delivery period
When the delivery has been launched, the messages (and any retries) can be sent until the delivery deadline.
This is indicated in the delivery properties, via the Validity tab.

The Length of delivery field lets you enter the limit for global delivery retries. This means that Neolane
sends the messages beginning on the start date, and then, for messages returning an error only, regular,
configurable retries are performed until the validity limit is reached.
You can also choose to specify dates. To do this, select Explicitly set validity dates. In this case, the
delivery and validity limit dates also let you specify the time. The current time is used by default, but you
can modify this directly in the input field.
Validity limit of resources
The Validity limit field is used for uploaded resources, mainly for the mirror page and images. The resources
on this page are valid for a limited time (to save disk space).
The values in this field can be expressed in the units listed in Neolane Platform.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 61

Neolane
URLs and bounce mails
The SMTP tab of the delivery parameters lets you configure the management of bounce mails.

By default, bounced e-mails are received in the default error box of the platform, but you can define a specific
error address for a delivery.
You can also define a specific address from this screen in order to investigate the reasons for bounce mails
when these could not be automatically qualified by the application. For each of these fields, the 'add
personalized fields' icon lets you add personalization parameters.
SMTP headers
It's possible to add SMTP headers to your deliveries. To do this, use the relevant section of the SMTP tab
in the delivery.
The script entered in this window must reference one header per line in the following form: name:value.
Values are encoded automatically if necessary.

Warning:
Adding a script for inserting additional SMTP headers is reserved for advanced users.
The syntax of this script must comply with the requirements of this content type: no unused space, no empty
line, etc.
Tracking management
The configuration and management of message tracking are presented in Configuring tracking [page 145].
Typology rules
Campaign typologies and their rules, configured in the Typology tab of the delivery properties, are presented
in Campaign typologies [page 52].

Delivering on mobile channels: SMS, MMS


Neolane lets you perform mass personalized delivery of SMS or MMS messages. The steps described below
assume that all target recipients and their profiles are stored in the database. The recipient profiles must
contain at least a mobile telephone number.
The procedure for delivery to mobile channels is described in the following pages.
n

For SMS deliveries, see SMS delivery [page 66],

62 | Neolane 2013

Creating deliveries
n

for MMS, see MMS Delivery [page 76].

Note:
Neolane also lets you submit notifications on mobile terminals, via its Neolane Mobile App Channel
(NMAC) option.
For more information, refer to Neolane Mobile App Channel Option [page 195]

Configuration
To send to a mobile phone, you need:

1 an external account specifying a connector and type of message,


Note:
The available connectors are NetSize, SMPP Generic (SMPP version 3.4 supporting binary mode),
Sybase365, mBlox and Tele2 and O2.

2 a delivery template in which this external account is referenced.


Activating the external account
The list of external accounts is accessible in the Platform>External accounts node of the tree.

For example, go to the account called NetSize mobile delivery.


In the General tab, select the Enabled option.

Check that the Mobile option is selected for the Channel field.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 63

Neolane
n

In the Mobile tab, select the desired connector from the drop-down list: NetSize, SMPP Generic,
Sybase365, mBlox or Tele2 or O2.

Configure the chosen connector according to the information provided by the supplier. In the example
below, the chosen operator is NetSize.

In the Connector tab, leave the Call Web Service activation mode selected by default.

Specify the access URL for the connector. The address must end in netsize.jsp if your provider is
NetSize. For all other connectors, the URL address ends in smpp34.jsp.

64 | Neolane 2013

Creating deliveries

Changing the delivery template


Neolane provides you with a template for delivery to mobiles. This template is available in the Resources
> Templates > Delivery templates node. See Creating a delivery template [page 92].
To deliver via SMS or MMS channels, you must create a template in which the channel connector is referenced.
In order to keep the native delivery template, we recommend that you duplicate it and then configure it.
In the example below, we create a model to deliver messages via the NetSize account enabled earlier.

Go to the Delivery templates node.


Right-click the Send to mobiles template, and select Duplicate.

Change the label of the template.

Click Properties.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 65

Neolane
n

In the General tab, select the following routing mode: NetSize mobile delivery.

Click Save to create the template.

You now have an external account and a delivery template that let you deliver via SMS or MMS.

SMS delivery
Creating the delivery
Selecting the delivery channel
n

Create a new delivery, for example via the overall view of deliveries.

66 | Neolane 2013

Creating deliveries
n

Select the delivery template Send to mobiles by NetSize which you created earlier. See Changing the
delivery template [page 65]. The Routing field indicates the routing mode for the external account, i.e.
Send to mobiles by NetSize. See Activating the external account [page 63]

Identification of the delivery


n

Enter a name for the delivery in the Label field. A delivery code can also be assigned to the delivery.
The name of the delivery and its code appear in the list of deliveries but cannot be seen by the message
recipients.
You can add a description in the Description field.
Click Continue to confirm this information and display the message configuration window.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 67

Neolane

Defining the message content.


Message type
n

Leave the SMS option selected by default.

Use the central window to enter the content of the message. The toolbar buttons let you import, save,
or search in contents. The last button is used to insert personalization fields.

Note:
The use of personalization fields is detailed in Personalizing deliveries [page 115].

68 | Neolane 2013

Creating deliveries

Note:
SMS messages are limited to a length of 160 characters if the Latin-1 (ISO-8859-1) code page is used If
the message is written in Unicode, it must not exceed 70 characters. Certain special characters can affect
message length. For more on this, refer to Special characters [page 72].
When personalization fields or conditional content fields are present, the size of the message varies from
one recipient to the other. The length of the message must be evaluated when personalization has been
carried out.
When you launch the analysis, the length of messages is checked, and a warning is displayed in the
event of overflow. For further information on message length, see Advanced parameters [page 70]

Click Preview at the bottom of the page to view the rendering of the message with its personalization.
To launch the preview, select a recipient using the Test personalization button in the toolbar. You can
select a recipient from the defined targets or select another recipient.

You can approve the SMS message. You can also view the content of the SMS on the mobile phone
screen displayed on the right of the content editor. Click the screen and use the mouse to scroll through
the content.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 69

Neolane
n

Click the Data loaded link to view the information concerning the recipient.

Selecting the target population


To select the recipients of the delivery being created, click the For link.
The configuration of this stage is presented in the relevant section of the chapter on e-mail delivery. See
Main target [page 37].

Sending messages
To approve your message and send it to the recipients of the delivery being created, click Send.
The configuration of this stage is presented in the relevant section of the chapter on e-mail delivery. See
Sending messages [page 45].
Advanced parameters
The Properties button gives access to the advanced delivery parameter. The parameters specific to SMS
deliveries are in the SMS parameters section of the Delivery tab.
The following options are available:
n
n

Transmission mode: message transmission by SMS.


Priority: level of importance assigned to a message. Normal priority is selected by default. Ask your
service provider about the cost of SMS sent with High priority.
Type of application: choose the application you wish to assign to your SMS delivery. The Direct
Marketing option is selected by default and is the most common one used.

70 | Neolane 2013

Creating deliveries
Parameters specific to the Netsize connector

Use several SMSs for a single message: this lets you send a message over 160 characters long via
several SMSs.

Parameters specific to an SMPP connector

Sender address: This lets you personalize the name of the sender using a string of alphanumerical
characters (11 max.). This string also serves as a return number.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 71

Neolane
n

Maximum number of SMSs per message: this option lets you set the number of SMSs to use to send
a message. If the number is set to 0, you can use an SMSs to deliver your message. If the number of
SMS is set to 1 or 2 for instance, and the message exceeds this threshold, it will not be sent.

Tracking deliveries
After sending messages, you can track your deliveries. See Tracking deliveries [page 141].

Special characters
Table of characters supported by the GSM standard
This table contains the characters supported by the GSM standard. Any other character inserted into the
message body will convert the full message into binary and restrict it to 70 characters. You need to make
sure the message doesn't risk being truncated beyond 70 characters if you are using a special character not
supported by the GSM standard.

Hexadecimal form

Decimal form

Character name

Character

ISO-8859-1 standard

0x00

COMMERCIAL AT

64

0x01

POUND SIGN

163

0x02

DOLLAR SIGN

36

0x03

YEN SIGN

165

0x04

LATIN SMALL LETTER E


WITH GRAVE

232

0x05

LATIN SMALL LETTER E


WITH ACUTE

233

0x06

LATIN SMALL LETTER U


WITH GRAVE

249

0x07

LATIN SMALL LETTER I


WITH GRAVE

236

0x08

LATIN SMALL LETTER O


WITH GRAVE

242

0x09

LATIN CAPITAL LETTER C


WITH CEDILLA

199

0x0A

10

LINE FEED

0x0B

11

LATIN CAPITAL LETTER O


WITH STROKE

216

0x0C

12

LATIN SMALL LETTER O


WITH STROKE

248

0x0D

13

CARRIAGE RETURN

0x0E

14

LATIN CAPITAL LETTER A


WITH RING ABOVE

197

0x0F

15

LATIN SMALL LETTER A


WITH RING ABOVE

229

0x10

16

GREEK CAPITAL LETTER


DELTA

0x11

17

LOW LINE

95

72 | Neolane 2013

10

13

Creating deliveries
Hexadecimal form

Decimal form

Character name

Character

ISO-8859-1 standard

0x12

18

GREEK CAPITAL LETTER


PHI

0x13

19

GREEK CAPITAL LETTER


GAMMA

0x14

20

GREEK CAPITAL LETTER


LAMBDA

0x15

21

GREEK CAPITAL LETTER


OMEGA

0x16

22

GREEK CAPITAL LETTER PI

0x17

23

GREEK CAPITAL LETTER


PSI

0x18

24

GREEK CAPITAL LETTER


SIGMA

0x19

25

GREEK CAPITAL LETTER


THETA

0x1A

26

GREEK CAPITAL LETTER XI

0x1B

27

ESCAPE TO EXTENSION
TABLE

0x1C

28

LATIN CAPITAL LETTER AE

198

0x1D

29

LATIN SMALL LETTER AE

230

0x1E

30

LATIN SMALL LETTER


SHARP S (German)

223

0x1F

31

LATIN CAPITAL LETTER E


WITH ACUTE

201

0x20

32

SPACE

0x21

33

EXCLAMATION MARK

33

0x22

34

QUOTATION MARK

"

34

0x23

35

NUMBER SIGN

35

0x24

36

CURRENCY SIGN

164

0x25

37

PERCENT SIGN

37

0x26

38

AMPERSAND

&

38

0x27

39

APOSTROPHE

'

39

0x28

40

LEFT PARENTHESIS

40

0x29

41

RIGHT PARENTHESIS

41

0x2A

42

ASTERISK

42

0x2B

43

PLUS SIGN

43

0x2C

44

COMMA

44

0x2D

45

HYPHEN

45

32

MINUS
0x2E

46

FULL STOP

46

0x2F

47

SOLIDUS (SLASH)

47

0x30

48

DIGIT ZERO

48

Neolane v6.1 - Neolane Delivery - Creating deliveries | 73

Neolane
Hexadecimal form

Decimal form

Character name

Character

ISO-8859-1 standard

0x31

49

DIGIT ONE

49

0x32

50

DIGIT TWO

50

0x33

51

DIGIT THREE

51

0x34

52

DIGIT FOUR

52

0x35

53

DIGIT FIVE

53

0x36

54

DIGIT SIX

54

0x37

55

DIGIT SEVEN

55

0x38

56

DIGIT EIGHT

56

0x39

57

DIGIT NINE

57

0x3A

58

COLON

58

0x3B

59

SEMICOLON

59

0x3C

60

LESS-THAN SIGN

<

60

0x3D

61

EQUALS SIGN

61

0x3E

62

GREATER-THAN SIGN

>

62

0x3F

63

QUESTION MARK

63

0x40

64

INVERTED EXCLAMATION
MARK

161

0x41

65

LATIN CAPITAL LETTER A

65

0x42

66

LATIN CAPITAL LETTER B

66

0x43

67

LATIN CAPITAL LETTER C

67

0x44

68

LATIN CAPITAL LETTER D

68

0x45

69

LATIN CAPITAL LETTER E

69

0x46

70

LATIN CAPITAL LETTER F

70

0x47

71

LATIN CAPITAL LETTER G

71

0x48

72

LATIN CAPITAL LETTER H

72

0x49

73

LATIN CAPITAL LETTER I

73

0x4A

74

LATIN CAPITAL LETTER J

74

0x4B

75

LATIN CAPITAL LETTER K

75

0x4C

76

LATIN CAPITAL LETTER L

76

0x4D

77

LATIN CAPITAL LETTER M

77

0x4E

78

LATIN CAPITAL LETTER N

78

0x4F

79

LATIN CAPITAL LETTER O

79

0x50

80

LATIN CAPITAL LETTER P

80

0x51

81

LATIN CAPITAL LETTER Q

81

0x52

82

LATIN CAPITAL LETTER R

82

0x53

83

LATIN CAPITAL LETTER S

83

0x54

84

LATIN CAPITAL LETTER T

84

0x55

85

LATIN CAPITAL LETTER U

85

0x56

86

LATIN CAPITAL LETTER V

86

0x57

87

LATIN CAPITAL LETTER w

87

0x58

88

LATIN CAPITAL LETTER X

88

0x59

89

LATIN CAPITAL LETTER Y

89

0x5A

90

LATIN CAPITAL LETTER Z

90

0x5B

91

LATIN CAPITAL LETTER A


WITH DIAERESIS

196

0x5C

92

LATIN CAPITAL LETTER O


WITH DIAERESIS

214

74 | Neolane 2013

Creating deliveries
Hexadecimal form

Decimal form

Character name

Character

ISO-8859-1 standard

0x5D

93

LATIN CAPITAL LETTER N


WITH TILDE

209

0x5E

94

LATIN CAPITAL LETTER U


WITH DIAERESIS

220

0x5F

95

SECTION SIGN

167

0x60

96

INVERTED QUESTION
MARK

191

0x61

97

LATIN SMALL LETTER A

97

0x62

98

LATIN SMALL LETTER B

98

0x63

99

LATIN SMALL LETTER C

99

0x64

100

LATIN SMALL LETTER D

100

0x65

101

LATIN SMALL LETTER E

101

0x66

102

LATIN SMALL LETTER F

102

0x67

103

LATIN SMALL LETTER G

103

0x68

104

LATIN SMALL LETTER H

104

0x69

105

LATIN SMALL LETTER I

105

0x6A

106

LATIN SMALL LETTER J

106

0x6B

107

LATIN SMALL LETTER K

107

0x6C

108

LATIN SMALL LETTER L

108

0x6D

109

LATIN SMALL LETTER M

109

0x6E

110

LATIN SMALL LETTERn N

110

0x6F

111

LATIN SMALL LETTER O

111

0x70

112

LATIN SMALL LETTER P

112

0x71

113

LATIN SMALL LETTER Q

113

0x72

114

LATIN SMALL LETTER R

114

0x73

115

LATIN SMALL LETTER S

115

0x74

116

LATIN SMALL LETTER T

116

0x75

117

LATIN SMALL LETTER U

117

0x76

118

LATIN SMALL LETTER V

118

0x77

119

LATIN SMALL LETTER W

119

0x78

120

LATIN SMALL LETTER X

120

0x79

121

LATIN SMALL LETTER Y

121

0x7A

122

LATIN SMALL LETTER Z

122

0x7B

123

LATIN SMALL LETTER A


WITH DIAERESIS

228

0x7C

124

LATIN SMALL LETTER O


WITH DIAERESIS

246

0x7D

125

LATIN SMALL LETTER N


WITH TILDE

241

0x7E

126

LATIN SMALL LETTER U


WITH DIAERESIS

252

0x7F

127

Lower case Latin A with an


accent

224

Status of the messages sent via SMS according to NetSize


This table matches the error status created by NetSize according to the iFailureReason enumeration of
the nms:broadLogMsg delivery log table.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 75

Neolane
Error code

Values in nms:broadLogMsg

NetSize values

Not defined

Undefined error (unqualified by NetSize)

User unknown

Number unknown

Unattainable

Other error

Inbox full

SIM card full

Not connected

No mobile network

20

Rejected

Blacklisted number

Table of double characters


This table, which is taken from the table of characters supported by the GSM standard, includes the list of
special characters that are counted as two characters when used in an SMS. If your message is close to the
threshold, using one of these characters can push you over the 160 or 70 character threshold and use up
two SMSs instead of one.

Hexadecimal form

Decimal form

Character name

Character

ISO-8859-1 standard

0x1B0A

27 10

FORM FEED

0x1B14

27 20

CIRCUMFLEX ACCENT

94

0x1B28

27 40

LEFT CURLY BRACKET

123

0x1B29

27 41

RIGHT CURLY BRACKET

125

0x1B2F

27 47

REVERSE SOLIDUS
(BACKSLASH)

92

0x1B3C

27 60

LEFT SQUARE BRACKET

91

0x1B3D

27 61

TILDE

126

0x1B3E

27 62

RIGHT SQUARE BRACKET ]

93

0x1B40

27 64

VERTICAL BAR

124

0x1B65

27 101

EURO SIGN

164

12

MMS Delivery
Note:
The way in which the MMS channel is taken into account may vary depending on the connector used. Please
contact Neolane Support before implementation.

Creating the delivery


Selecting the delivery channel
Refer to the section concerning SMS deliveries Creating the delivery [page 66].
Delivery identification: name, delivery code, and folder where saved
Refer to the section on delivery by SMS Defining the message content. [page 67].

76 | Neolane 2013

Creating deliveries

Defining the message content


Message type
n

Select the MMS option.

Use the central window to enter the content of the message. The toolbar buttons let you import, save,
or search in contents. The last button is used to insert personalization fields. Refer to section Writing the
content [page 79] for further information.

Note:
The use of personalization fields is explained in Personalizing deliveries [page 115].

Neolane v6.1 - Neolane Delivery - Creating deliveries | 77

Neolane
n

Specify a subject in the Subject field. This field is mandatory. If it is blank, the message will not be sent.

Click Preview at the bottom of the page to view the rendering of the message with its personalization.
To launch the preview, select a recipient using the Test personalization button in the toolbar. You can
select a recipient from the defined targets or select another recipient.

78 | Neolane 2013

Creating deliveries
You can approve the MMS message.

Writing the content


The content of an MMS is written in SMIL. This structured language lets you integrate different types of
multimedia content in the message and describe how the message should be presented.
An MMS consists of one or more screens divided into zones. Each zone contains one or more elements which
can be text or images. These elements can be clickable if you link a URL to them. You can also assign a
display time (expressed in seconds) to a screen or image.
An MMS message comprises a header and a message body.
n

The header is defined by a <head> tag. It contains a description of the page layout and the zones
comprising the MMS.
In the example below, text zones 2 and 3 are configured to occupy the full width of the screen and half
the height. They are positioned above the image zone.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 79

Neolane
n

The body of the message is introduced by a <body> tag. It lets you describe the sequence of the MMS
screen by screen and specify the display duration. A screen is defined by the <par> tag. The sequence
of elements in the message body matches their position in the MMS.

Warning:
The rendering of messages can vary according to the mobile phone.

Images are introduced by an <img> tag in which you place a reference to the source of the image file.
This can be a local file or a file available on the Internet. Images must be in GIF or JPEG format.
In the example below, the first screen shows a succession of three images lasting two seconds each.
The user can click on the first image to be redirected to the linked site.

80 | Neolane 2013

Creating deliveries
n

The text must be written at the beginning of the structure, before the message header. It is then
referenced in the body of the message via the <text src=" cid:text identifier"> tag.

The MMS will have the following appearance:

Selecting the target population


To select the recipients of the delivery being created, click the To link.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 81

Neolane
Configuration of this stage is presented in the relevant section of the chapter on e-mail delivery. See Main
target [page 37].

Sending messages
To confirm your message and send it to recipients, click Send.
Configuration of this step is presented in the relevant section of the chapter on e-mail delivery. See Sending
messages [page 45].
See Advanced parameters [page 70] for further information about the advanced parameters of mobile
channels.

Tracking deliveries
To view the information concerning a delivery, refer to the relevant section of the chapter on e-mail delivery.
See Tracking deliveries [page 141].

Processing inbound messages


nlserver sms module
The nlserver sms module queries the SMS router at regular intervals. This allows Neolane to track the
progress of deliveries and handle the receipt acknowledgements and recipient unsubscription requests.
n

Acknowledgements: view delivery logs to check the status of your messages.

Note:
Every SMS sent is linked to an external account its primary key. In this way:
n
n

The status reports of an external account for deleted SMS cannot be correctly processed.
An SMS account can only be associated with a single external account in order to correctly attribute
status reports to the latter.

Unsubscription: recipients who wish to stop receiving SMS deliveries can return a message containing
the word STOP. If your provider allows it under the terms of the contract, you can retrieve messages via
the Inbound SMS workflow activity and then create a query to enable the No longer contact this
recipient option for the recipients concerned.
Refer to the chapter on workflows in the Workflows guide.

Description of InSMS schema fields


The InSMS schema contains information relevant to incoming SMSs. A description of these fields is available
via the desc attribute.
n
n
n
n
n

message: content of the SMS received.


origin: mobile number at the origin of message.
providerId: identifier of the message returned by the SMSC (message center).
created: date incoming message was inserted into Neolane.
extAccount: Neolane external account.

82 | Neolane 2013

Creating deliveries

Warning:
The following fields are specific to Netsize.
If the operator in use is not Netsize, these fields are considered empty.

n
n
n
n
n
n
n
n
n

alias: alias of incoming message.


separator: separator between the alias and the body of the message.
messageDate: message date given by operator.
receivalDate: date message from operator was received by SMSC (message center).
deliveryDate: date message sent by SMSC (message center).
largeAccount: customer account code linked to incoming SMS.
countryCode: operator country code.
operatorCode: operator network code.
linkedSmsId: Neolane identifier (broadlogId) linked to outgoing SMS, where this SMS is the response.

Delivering by direct mail


Neolane lets you produce files to mass deliver personalized letters. The steps described below assume that
all target recipients and their profiles are stored in the database, except in the case of external delivery (see
External deliveries [page 44]). The recipient profiles must contain at least their names and postal addresses.

Note:
Postal addresses
Postal addresses are calculated fields. An address can contain up to six lines by default: the first contains
the first name and last name, the next lines contain the postal address (road etc.), and the last line contains
the ZIP/Postal code and town or city.
An address is considered to be complete if the name, ZIP/Postal code field, and town/city fields are not
empty.

Creating the delivery


For more on this, refer to Delivery identification [page 17].

Defining the content of the extraction file.


The extraction file
The name of the file which contains the extracted data is defined in the File field. The button to the right
of the field lets you use personalization fields to create the file name.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 83

Neolane
By default, the extraction file is created and stored on the server. You can save it on your computer. To do
this, check the Download the generated file after the analysis of the delivery. In this case, you need
to indicate the access path to the local storage directory as well as the file name.

For a direct mail delivery, the content of the extraction is defined in Edit the extraction file format... link.

84 | Neolane 2013

Creating deliveries
This link lets you access the extraction wizard and define the information (columns) to be exported into the
output file.

It's possible to insert a personalized URL into the extraction file. For more on this, refer to Web functionality.

Note:
This wizard includes the steps of the export wizard detailed in Neolane Platform.

Recipients
The recipients of a direct mail delivery are extracted from the database via one or more queries defined by
clicking the To link in the delivery wizard.

The method for defining the target is described in Selecting the target population [page 36].

Neolane v6.1 - Neolane Delivery - Creating deliveries | 85

Neolane

Note:
n
n

The use of personalization fields is described in Personalizing deliveries [page 115].


The inclusion of a seed list is described in Seed lists [page 108].

You can reduce the size of the target population. To do this, specify the number of recipients to be exported
in the Quantity requested field.

Exclusion rules
By default, exclusion rules are applied to the recipient profiles according to the options defined in the
Exclusions tab in the target definition window.

Address errors and quality ratings are supplied by the service provider (IAP). This information is automatically
updated in the recipient profile following delivery actions and with files returned by service providers. It can
be viewed in the profile on a read-only basis.
You can choose to exclude addresses that have reached a certain number of consecutive errors, or whose
quality rating is below a threshold specified in this window. You can also choose whether or not to authorize
non-qualified addresses for which no data has been returned.
The other advanced parameters are presented in Creating a delivery [page 16].

86 | Neolane 2013

Creating deliveries

Confirming the delivery


Once created, a direct mail campaign can be confirmed and then executed. To confirm a delivery, start by
launching the analysis. You can then send a proof in order to check the content of the delivery.

Analyzing the delivery


To launch the delivery analysis, click Send and select Deliver as soon as possible or Estimate target
population.

The Analyze button lets you launch the analysis manually. The progress bar shows the progress of the
analysis.

The lower section of the window displays the analysis result. Special icons display warnings. The approval
rules are presented in Campaign typologies [page 52].

Warning:
The analysis freezes the target and the content of the delivery or of the proof at the moment of analysis.
Any modification to the delivery or the proof must be followed by another analysis before becoming applicable.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 87

Neolane
The last log message displays any error messages and the number of errors. A special icon shows the error
type.
Use the scroll bar to go up to the error message(s). Make the necessary changes, and then restart the
analysis.
Check the result of the analysis before clicking Confirm delivery. A confirmation message lets you launch
the delivery.

When the delivery has been launched, you may close the delivery wizard.

Sending a proof
The proof lets you test the delivery on a control group before sending it to the main target.

Note:
The proof target is defined in Proof target [page 42].
To send a proof, click the Send a proof button.

88 | Neolane 2013

Creating deliveries
Click Analyze to launch the analysis, then send the proof by clicking Confirm delivery.

The delivery proof is added to the list of deliveries with the appropriate status. Delivery statuses are presented
in List of deliveries [page 9].
Select this delivery and use its detail tabs to view its content.

Extracting the data


The execution of the delivery can be scheduled (in the calendar or a workflow) or launched manually.
To launch a delivery, edit it and click the Send button. Select Send to the main target (as soon as
possible) and click Next.
Click Next and then Analyze to launch the delivery analysis.
The output file is then generated. Its content depends on the selected output columns (refer to The extraction
file [page 83]).

Note:
The analysis phase is detailed in Analyzing the delivery [page 45].
You can stop this job at any time by clicking Stop.

During the analysis phase, the file is generated but information concerning recipients (i.e. delivery logs) isn't
updated. You can therefore cancel this job without running any risks.
Check the result of the analysis and the content of the output file before clicking Confirm delivery. A
confirmation message lets you launch the delivery.

You can then close the wizard and look at the delivery logs via the Delivery tab, accessible via the delivery
details.

Advanced parameters
In the context of the Neolane Campaign solution
The Advanced tab of the delivery properties lets you compute the Extraction date of the file and the
direct mail delivery date of the extraction file using a formula.
For example, use an expression to set the file extraction date to ten days after the start of a campaign.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 89

Neolane

1 Select the formula type Expression and click Next to display the expression editor.

2 In the list of functions, double-click AddDays, accessible via the Date node.

90 | Neolane 2013

Creating deliveries

3 In the list of available fields, go to the Campaign node and select the Start field.

4 Add the number 10 to the expression, and then click Finish.

5 The file extraction date is set to 10 days after the start of the campaign.

You can calculate the direct mail sending date the same way using the expression editor. For example, you
can set the direct mail sending date to three days after the file extraction date using the following formula:

Neolane v6.1 - Neolane Delivery - Creating deliveries | 91

Neolane
AddDays([scheduling/@extracted],3 )

Creating a delivery template


Overview
A delivery configuration can be saved in a delivery template in order to be re-used. The template may contain
a complete or partial configuration of the delivery.
The delivery template may be executed manually, as described in this chapter, or according to an event
(launched at a set time, on arrival of a file at a server, etc.). Delivery templates can be configured via the
Resources>Templates>Delivery templates node in the tree.

There are two families of template:

1 Neolane native delivery templates

Native templates MUST NOT be deleted from the system. They include a minimum configuration for each
delivery channel. The administrator can, however, restrict certain functions or offer default values to
users (tracking activation, sender e-mail addresses, etc.). Native scenarios appear in bold in the list of
templates. They must be duplicated in order to modify them.
Predefined delivery templates
The Neolane administrator can create new delivery templates. They can be reused by operators (those
with suitable access rights) or automatically by Neolane server processes. For example, you can configure

92 | Neolane 2013

Creating deliveries
an e-mail delivery template, and when the user creates a delivery using this template, he simply needs
to enter the text or HTML content and then deliver it; the other choices have already been defined by
the administrator.

Creation modes
Creating a template from an existing delivery
A delivery can be converted to a template for new repeated delivery actions. To convert a delivery to a
template, select it from the delivery list, accessible via the Campaign execution node of the tree.
Right-click and select Actions>Save as template....

This action creates a delivery template from the selected delivery. You must enter the folder where it is saved
(in the Folder field) as well as the folder where the deliveries created based on this template are created
(in the Execution folder field).

Neolane v6.1 - Neolane Delivery - Creating deliveries | 93

Neolane
For more information on the configuration mode, refer to Linking the template to a delivery [page 95].

Creating a new delivery template


To create a new delivery template, right-click the template list and select New, or use the New button
located above the list of templates.
Configure and save the template to make it available for deliveries. The content and the options offered
depend on the delivery channel and operator rights.

Note:
To avoid configuration errors, we recommend that you duplicate a native template and alter its properties
rather than create a new template.

Selecting a target mapping


By default, delivery templates target Recipients. Their target mapping therefore uses the fields of the
nms:recipient table. Neolane offers other target mappings for your deliveries, to be used based on your
needs.

These mappings are as follows:

Name

Use

Standard schema

Recipients

Deliver to recipients of the Neolane database

nms:recipient

Visitors

Deliver to visitors whose profiles have been collected via referral


(viral marketing) or via social networks (Facebook, Twitter) for
instance.

mns:visitor

Subscriptions

Deliver to recipients who are subscribed to an information service nms:subscription


such as a newsletter

Visitor subscriptions

Deliver to visitors who are subscribed to an information service

nms:visitorSub

Service

Publish to a Twitter account or a Facebook page

nms:service

94 | Neolane 2013

Creating deliveries
Operators

Deliver to Neolane operators

External file

Deliver via a file that contains all information needed for delivery No linked schema, no target entered

nms:operator

Note:
You can also create new target mappings. This operation is reserved for expert users. For more information,
refer to the Configuration guide.

Using a delivery template


Note:
The available templates depend on your access rights, on your instance configuration, and on the context.
For instance, when you create an information service, you can link a delivery template for confirmation
messages: you may then only access the templates whose target mapping is the subscription mapping. for
more on this, refer to Selecting a target mapping [page 94] and Information and sponsoring services [page 127].

Linking the template to a delivery


To create a delivery based on an existing template, select the template from the list of available delivery
templates.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 95

Neolane
Otherwise, click the Select link folder to the right of the field to browse the tree.

Select the desired directory from the Folder field, or click the Display sub-levels icon to display the contents
of the directories in the sub-trees of the current directory.
Select the delivery template to be used, and click Ok.

Executing the template


You can launch the execution of a template directly from the template list without creating a delivery first.
To do this, select the template to be executed and right-click. Select Actions>Execute the delivery
template....
You can also use File>Actions>Execute the delivery template....

Enter the delivery parameters and click Send.


This action generates a delivery in the folder attached to the template. The name of this delivery is the name
of the delivery template from which it was created.

Note:
For further information about configuring a delivery, see Defining the message content [page 17].

96 | Neolane 2013

Creating deliveries

Advanced delivery options


Attachments
You can attach one or more files to an e-mail delivery. There are two possible cases:

1 Select a file and attach it to the delivery as it is.


2 Personalize the content of the attachment for each recipient. In this case, you need to create a computed
attachment: the name of the attachment is computed at the time of delivery for each message depending
on the recipient. The content can also be personalized and converted into PDF format at the time of
delivery, if you have the Neolane Variable Digital Printing option.

Note:
This type of configuration is generally carried out in the delivery templates. For more on this, refer to Creating
a delivery template [page 92].

Attaching a local file


To attach a local file to a delivery, click the Attachments link and select the file you want to attach to the
message.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 97

Neolane
You can also use the matching icon in the toolbar.

Once the document is selected, it is immediately uploaded onto the server to be available at the time of
delivery.

Note:
For more on this, refer to Attachments [page 28].

Creating a computed attachment


When you create a calculated attachment, the name of the attachment can be computed during analysis or
delivery of each message and can depend on the recipient. It can also be personalized and converted to
PDF.

98 | Neolane 2013

Creating deliveries

Warning:
The Neolane Variable Digital Printing option that lets you attach personalized PDF files to emails is a
paying Neolane option. Please check your license agreement.

To create a personalized attachment, click the Attachments link and then the Add button, and select
Calculated attachment..
Select the type of calculation from the Type drop-down list:

The following options are available:


n

The file name is entered when the delivery template is created

Neolane v6.1 - Neolane Delivery - Creating deliveries | 99

Neolane
n

n
n

The file content is personalized and converted into PDF format at the time of delivery for
each message
The file name is computed during delivery analysis (it cannot depend on the recipient)
The file name is computed at the time of delivery for each recipient (it can depend on the
recipient)

For more on configuring these options, see below.


1. The file name is entered when the delivery template is created
In this case, the file is selected locally and uploaded onto the server.

1 Select the file to upload in the Local file field.


2 Specify the label if necessary. The label replaces the filename when viewed in messaging systems. If
nothing is specified, the filename is used by default.

3 If necessary, select Upload file on the server, and then click Update on server to start the transfer.

The file becomes available on the server and can be added to the deliveries created based on this template.

100 | Neolane 2013

Creating deliveries
2. The file content is personalized and converted into PDF format at the time of delivery
for each message
When you select this option, the file must contain personalization fields, such as the last name and first name
of the intended recipient.

For this type of attachment, apply the following configuration steps:

1 Select the file to upload.


Note:
The source file must be created in OpenOffice. The instance must be configured in keeping with the
prerequisites detailed in the Installation guide.

2 Specify the label if necessary.


3 Select Upload file on the server, and then click Update on server to start the transfer.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 101

Neolane

4 You can display a preview. To do this, select a recipient.

5 Analyze your delivery and then start it.

102 | Neolane 2013

Creating deliveries
Each recipient receives a personalized PDF attached to the delivery.

3. The file name is calculated during delivery analysis (it cannot depend on the
recipient)

Note:
This option is used only when the delivery is sent by an external process or a workflow.

1 Specify the label you wish to apply to the attachment.


2 Specify the access path of the file and its exact name in the definition window.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 103

Neolane

Warning:
The file must be present on the server.

3 Analyze and then start your delivery.


The filename computation can be seen in the analysis log.

4. The file name is calculated during delivery for each recipient (it can depend on the
recipient)

Note:
This option is used only when the delivery is sent by an external process or a workflow.

1 Specify the label you wish to apply to the attachment.

104 | Neolane 2013

Creating deliveries

2 Specify the access path of the file and its exact name in the definition window. If the filename is
personalized, you can use the merge fields for the relevant values.

Warning:
The file must be present on the server.

3 Analyze and then start your delivery.


In the example below, the attached file was chosen according to its name as defined using the merge
fields.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 105

Neolane
Additional settings
For the first two options, you can choose Upload file on the server by selecting the appropriate option.
The Update the file on the server link lets you start uploading.

A message tells you that the file has been uploaded to the server:

106 | Neolane 2013

Creating deliveries
For a change of file, a warning message is displayed:

The Advanced tab lets you define advanced options on attached files:
n

You can define filter options to avoid sending the attached file to all recipients. The option Enable
filtering of recipients who will receive the attachment activates an input field used to define a
recipient selection script, which must be entered in JavaScript.
You can script the name of the file in order to personalize it.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 107

Neolane
Enter your text in the window and use the personalization fields available in the drop-down list. In the
following example, the filename is personalized to contain today's date and the name of the recipient.

Seed lists
Creating seed list addresses
Seed addresses are used to target recipients who do not match the defined target criteria. These recipients
are added to the target: they can be imported or created directly in the delivery or the campaign. For direct
mail deliveries, they are added during extraction and mixed in the output document.
This has the following benefits:
n
n

Ability to build distinct reports on recipients and on seed addresses,


Random substitution of fields with data taken from recipient profiles: this lets you enter only the email
address, for instance in the seed address section.
When using a workflow with Datamanagement functionalities, the additional data processed in deliveries
can be entered at seed address level to force values: this sidesteps random value substitution.

108 | Neolane 2013

Creating deliveries

Warning:
For direct mail deliveries, the extraction file format must comply with the following limitations:
n
n

It must not use the option Handle groupings (GROUP BY+HAVING).


If element collections are extracted, these fields will have an empty value for the seed addresses, unless
the Fetch a single row option is selected. For more on this, refer to the data formatting section in the
Neolane Platform guide.

Creating seed addresses


Seed addresses are not managed via standard profiles and targets, but in a reserved node of the Neolane
hierarchy, in Resources>Campaign management>Seed addresses.
You can create sub-folders in order to organize the seed addresses. To do this, right-click the Seed addresses
node and select Create a new 'Seed addresses' folder. Name the sub-folder and then press Enter to
validate. You can now create or copy seed addresses to this sub-folder. For more on this, refer to Defining
addresses [page 109].
Neolane also lets you create seed address templates which are imported into deliveries or campaigns and
adapted based on the specific needs of the concerned deliveries and campaigns. Refer to Creating seed
address templates [page 110].
Defining addresses
To create seed addresses, click New situated above the list of seed addresses.

Enter the data linked to the address in the matching fields. By default, the label of the address keeps its first
and last name.
It is not necessary to enter all fields of each tab when creating a seed address. Any missing personalization
elements are entered randomly during delivery.
n

In the Recipient tab, enter the values of the standard fields in the profiles of the delivery recipients (in
the nms:recipient table): name, first name, e-mail, etc.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 109

Neolane
n

In the Seed fields tab, enter the values that will be inserted in the delivery logs during the analysis
phase (in the nms:broadLog table).
In the Additional data tab, enter the personalization data used for the deliveries created in the
Datamanagement workflows and which you want to assign a specific value to.

Creating seed address templates


To create address templates which will be imported and may be modified for each delivery, the process is
the same as above, only addresses must be stored in a 'Template' type folder.
To define a template folder, apply the following process:

1 Right-click the appropriate folder and select Properties....


2 Click the Restrictions tab and add the following filtering condition: @isModel = true

Addresses stored in this folder may now be used as address templates.

110 | Neolane 2013

Creating deliveries

Adding seed addresses


In a delivery
To add specific seed addresses for a delivery, edit the delivery and click the To link.

There are three possible insertion modes:

1 You can enter seed addresses.


To do this, click the Add button and define the content of the address fields. Repeat for each address.

2 You can import address templates and adapt them to suit your needs.
To do this, click the Import seed templates... link and select the folder which contains the address
templates. For more on this, refer to Creating seed address templates [page 110].

If necessary, once they are added, you can click the Detail... button to adapt the content of each address.
You can also create a condition to dynamically select the control addresses to be inserted.
To do this, click the Edit the dynamic condition... link and enter the seed address selection parameters.
For instance, you could include all the seed addresses contained in a specific folder.

Note:
This option is used when the recipient table used isn't the default nms:recipient table and you are using
the Inbox Rendering functionality provided with Neolane's Deliverability module.
For more on this, refer to Using an external recipient table [page 113] and the Deliverability Technical
note.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 111

Neolane
For deliveries, you can also customize the way addresses are inserted into the extraction file. By default,
they are inserted in the sorting order of the output file, but you can choose to insert them at the end or the
beginning of the file, or randomly among the recipients of the main target.

For an operation
To add seed addresses to a target for an operation, select the operation and click the Edit tab.
Click the Advanced campaign settings... link and then the Seed addresses tab, as shown below:

The seed addresses inserted from the operation will be added to the target of each delivery in the operation.

112 | Neolane 2013

Creating deliveries

Using an external recipient table


If the delivery table is an external table, you will need to make additional configurations. The
nms:seedmember schema must be extended. A tab is added to the seed addresses to define the adequate
fields, as shown below:

In this case, to add seed addresses to the delivery, enter the adequate fields directly in the matching tab,
or import the address templates:

The nms:seedMember schema extension is detailed in the "Configuring seed addresses based on the
external recipients table" section of the Configuration guide.

Neolane v6.1 - Neolane Delivery - Creating deliveries | 113

Neolane

114 | Neolane v6.1 - Neolane Delivery

CHAPTER 3

Personalizing deliveries

Table of Contents
Personalization fields . . . .
Data sources . . . . . .
Inserting a personalization field
Personalization example . .
Adding personalization blocks
Conditional content . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

115
115
116
116
118
121

Messages delivered by Neolane can be personalized in several different ways, concerning the content
or the appearance of messages. They can be combined according to criteria taken from the recipient
profiles. They can concern, for example:
n
n
n

the message format, see Body of the message [page 19],


dynamic personalization fields; refer to Personalization fields [page 115],
conditional content; refer to Conditional content [page 121] and the Web functionality guide.

Personalization fields
Personalization fields are used for first-level personalization of the content of delivered messages.
The fields you insert in a main content tell Neolane where to insert the data from the selected data
source.
For example, the personalization field with the <%= recipient.LastName %> syntax tells
Neolane to insert the name of the recipient into the database (recipient table).

Data sources
Personalization fields can come from two types of data source, according to the delivery mode
selected:
n

The Neolane database is the data source. This is the most common case, with 'recipient
personalization fields'. These are all the fields defined in the recipients table, whether standard
fields (typically: last name, first name, address, town, date of birth, etc.) or user defined fields.
An external file is the data source. These are all the fields defined in the columns of the file
presented as input during a delivery using the data found in an external file.

Neolane v6.1 - Neolane Delivery - Personalizing deliveries | 115

Neolane

Note:
A Neolane personalization tag always has the following form <%=table.field%>.

Inserting a personalization field


To insert personalization fields, click the drop-down icon that is accessible from any header, subject, or
message body editing field.

After the selection of a data source (recipient fields or file field), this insertion takes the form of a command
that will be interpreted by Neolane and replaced by the value of the field for a given recipient. The physical
replacement can then be viewed in the Preview tab.

Personalization example
We create an email in which we will first insert the name of the recipient and then add the profile creation
date in the body of the message. To do this:

1 Create a new delivery or open an existing e-mail type delivery.


2 In the delivery wizard, click Subject to edit the subject of the message.
3 Enter "Special offer for " and use the button in the toolbar to insert a personalization field. Select
Recipients>Title.

4 Repeat the operation to insert the name of the recipient. Insert spaces between all the personalization
fields.

5 Click OK to validate.

116 | Neolane 2013

Personalizing deliveries

6 Insert the personalization in the message body. To do this, point in the message content and click the
7

field insertion button.


Select Recipient>Other....

8 Select the field with the information to display and click OK.

Neolane v6.1 - Neolane Delivery - Personalizing deliveries | 117

Neolane

9 Click the Preview tab to view the personalization result. You must select a recipient to display that
recipient's message.

Note:
When a delivery is part of a workflow, you can use the data from the temporary workflow table. This
data is grouped in the Target extension menu. For more on this, refer to the Workflows guide.

Adding personalization blocks


You can define new personalization fields to be inserted from the personalized field icon via the Include...
menu. These fields are defined in personalization blocks.
To create a personalization block, apply the following steps:

1 Click the Resources > Campaign execution > Personalization block node.
2 Right-click the list of blocks and select New.

118 | Neolane 2013

Personalizing deliveries

3 Fill in the settings of the personalization block:

n
n

Enter the label of the block. This label will be displayed in the personalization field insertion window.
Select Visible in the customization menu to make this block accessible from the personalization
field insertion icon.
If necessary, select The content of the personalization block depends upon the format to
define two separate blocks for e-mails in HTML format and those in text format.
Two tabs are then displayed in the lower section of this editor (HTML and text) to define the
corresponding comments.

Enter the content (in HTML, text, JavaScript, etc.) of the personalization block(s) and click Save.

Neolane v6.1 - Neolane Delivery - Personalizing deliveries | 119

Neolane

4 Via the content editor of the delivery wizard, you can include this field using the personalized field icon.
Click the icon and select Include>Other....

5 Select the personalization block you have just created, and click OK.

The personalization block is then inserted as a script. You can include the source code of this block. To
do this, select Include the HTML source code of the block.

6 Click the Preview tab and select a recipient to view the personalization.

120 | Neolane 2013

Personalizing deliveries

Conditional content
By configuring conditional content fields, you can create advanced personalization. Complete text blocks
and/or images are replaced when a particular condition is satisfied.
For example:
n
n

Display showing "Mr." or "Ms." according to the value of the Gender field (M or F) in the data source,
Personalized assembly of a newsletter or promotional offers according to the interests indicated or
detected:
n
n
n
n

Interest
Interest
Interest
Interest

1
2
3
4

-->
-->
-->
-->

Block
Block
Block
Block

1
2
3
4

To create conditional content according to the value of a field, apply the following steps:

1 Click the personalization icon and select Conditional content>If.

The personalization elements are inserted in the message body. You must now configure them.
Next, fill in the parameters of the if expression.
To do this:

Neolane v6.1 - Neolane Delivery - Personalizing deliveries | 121

Neolane
n

122 | Neolane 2013

Select the first element of the expression, <FIELD>, (by default, this element is highlighted during
insertion of the if expression) and click the personalization icon to replace it with the test field.

Replace <VALUE> with the value of the field for which the condition will be satisfied. This value
must be in quotation marks.

Personalizing deliveries
n

Specify the content to be inserted when the condition is satisfied. This could consist of text, an image,
a form, a hypertext link, etc.

Neolane v6.1 - Neolane Delivery - Personalizing deliveries | 123

Neolane

3 Click the Preview tab to view the content of the message according to the delivery recipient:

Figure 3.1. Selecting a recipient for which the condition is true

Figure 3.2. Selecting a recipient for which the condition is not true

You can add other cases and define different content according to the values of one or more fields. To do
this, use Conditional content>Else and Conditional content>Else if. These expressions are configured
in the same way as the if expression.

124 | Neolane 2013

Personalizing deliveries

Warning:
To respect JavaScript syntax, the %> <% characters must be deleted after adding Else and Else if
conditions.
Click Preview and select a recipient to view the conditional content.

Neolane v6.1 - Neolane Delivery - Personalizing deliveries | 125

Neolane

126 | Neolane v6.1 - Neolane Delivery

CHAPTER 4

Information and sponsoring


services

Table of Contents
Creating and managing information services . . . .
Overview . . . . . . . . . . . . . . .
Creating an information service . . . . . . . .
Adding and deleting subscribers . . . . . . . .
Delivering to the subscribers of an information service
Subscription and unsubscription mechanisms . . .
Viral marketing and social networks . . . . . . .
Overview . . . . . . . . . . . . . . .
Social networks: sharing a link . . . . . . . .
Viral marketing: forward to a friend . . . . . .
Information tracking . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

127
127
128
130
131
132
135
135
136
138
139

Neolane v6.1 enables you create and administer information services such as newsletters and to
manage the subscriptions to these services. Several services can be defined in parallel, for example:
specialist newsletters for certain product categories, themes or areas of a web site, subscriptions
to various types of alert messages and real-time notifications. refer to Creating and managing
information services [page 127].
You can also enable your delivery recipients to share them with members of their social or
professional network. To do this, insert the relevant links into your delivery. You may then track
this sharing process as well as the number of visits to the concerned pages. For more on this, refer
to Viral marketing and social networks [page 135].

Note:
This functionality is available out-of-the-box with Neolane. The Neolane Social Marketing optional
application lets you contact your customers and prospects via Facebook and Twitter. It is detailed
in Managing social networks.

Creating and managing information services


Overview
An information service comprises:
n

Registration and subscription (opt in),

Neolane v6.1 - Neolane Delivery - Information and sponsoring services | 127

Neolane
n

Deregistration, voluntary unsubscription (opt out) or automatic unsubscription (limited-time service, for
example as a trial offer),
Subscription and unsubscription confirmation mechanisms (simple mechanisms with confirmation, double
opt in, etc.),
Tracking of subscriber history.

As a standard feature, these services include specific statistical reports: subscriber tracking, loyalty level,
unsubscription trends, etc.
For e-mails, the mandatory unsubscription links are generated automatically, and the entire opt in/opt out
process us fully automated, with history tracking to guarantee full compliance with the regulations in force.
There are three service subscription/unsubscription modes:

1 Manual
2 By importing (subscription only)
3 Via a web form

Creating an information service


You can create and manage subscriptions to information services with associated confirmation messages or
automatic deliveries to subscribers.
To access the information services map, go to the Profiles and Targets universe and click the Services
and Subscriptions link.

128 | Neolane 2013

Information and sponsoring services


To edit an existing service, click its name. To create a service, click the Create button located above the
list.

n
n

Enter the name of the service in the Label field and select the type of delivery medium: e-mail, SMS,
telephone, direct mail, or fax.
For an Email type service, select the Delivery mode. The possible modes are: Newsletter or Viral..
You can send confirmation messages for a subscription or unsubscription. To do this, select the
delivery templates to be used to create the corresponding deliveries from the Subscription and
Unsubscription fields. These templates must be configured with a Subscription type targeting mapping,
without a defined target. See section Delivering by email [page 15].
By default, subscriptions are unlimited. You can deselect the Unlimited option to define a validity duration
for the service. The duration can be specified in days (d) or months (m).

Once the service has been saved, click the list to edit it. Several tabs are available. The Subscriptions tab
lets you look at the list of subscribers to the information service (Active subscriptions tab) or the
subscription/unsubscription history (History tab). You can also add and delete subscribers from this tab.
See Adding and deleting subscribers [page 130].

Neolane v6.1 - Neolane Delivery - Information and sponsoring services | 129

Neolane
The Detail button lets you look at the subscription properties for the selected recipient.
You can modify the subscription properties for a recipient.

Use the Dashboard > Reports tab to track subscriptions: changes in subscription levels, total number of
subscribers, etc. You can archive reports and look at histories from this tab.

Adding and deleting subscribers


From the Subscriptions tab of the service concerned, click Add to add subscribers to the information
service. You can also right-click the list of subscribers and select Add. Select the folder in which the profiles
to be subscribed are stored, and then select the profiles to subscribe and click OK to validate.
To delete subscribers, select them and click Delete. You can also right-click the subscriber list and select
Delete.
In both cases, you can send a confirmation message to the users concerned if a delivery template for
unsubscriptions has been attached to the service (see Creating an information service [page 128]). A warning
lets you validate or not validate this delivery:

See Subscription and unsubscription mechanisms [page 132].

130 | Neolane 2013

Information and sponsoring services

Delivering to the subscribers of an information service


To deliver to the subscribers of an information service, you can target the subscribers to the information
service concerned, as in the following example:

Warning:
The target mapping must be Subscriptions.
Select Subscribers of an information service and click Next.

Neolane v6.1 - Neolane Delivery - Information and sponsoring services | 131

Neolane
Select the targeted information service and click Finish.

The Preview tab lets you view the list of subscribers to the selected information service.

Subscription and unsubscription mechanisms


You can set up subscription and unsubscription mechanisms to automate the processes and subscriber
management.

Note:
You can send a confirmation message to new subscribers.
The content of this message is defined in the information service configuration via the Confirmation
message>Subscription or Confirmation message>Unsubscription field.

The confirmation message is created via the delivery template specified in this field. This template must be
mapped onto the Subscriptions.

Subscribing a recipient to a service


To register recipients for an information service, you can:
n

Manually add the service: to do this, from the Subscriptions tab of their profile, click Add and select
the information service concerned.
For more on this, refer to the section on profile editing in the Neolane Platform guide.
Automatically subscribe a set of recipients to this service. The list of recipients can come from a filtering
operation, a group, a folder, an import, or a direct selection using the mouse. To subscribe these recipients,

132 | Neolane 2013

Information and sponsoring services

select the profiles and right-click. Select Actions>Subscribe selection to a service..., select the
service concerned, and launch the operation.
Import recipients and subscribe them automatically to an information service. To do this, select the
service concerned in the last step of the import wizard.

For more on this, refer to Neolane Platform.


Use a web form so that recipients can subscribe to a service.

For more on this, refer to Web functionalities.


Creating a targeting workflow and using a Subscription service box.

Unsubscribing a recipient from a service


Manual unsubscribing
E-mail deliveries must contain an unsubscription link, by law. Recipients can click on this link to update their
profile and be excluded from the targets of future deliveries.
The default unsubscription link is inserted via the last button in the toolbar of the content editor provided in
the delivery wizard (see Personalizing deliveries [page 115]). When the recipient clicks this link, the profile is
blacklisted, meaning that this recipient will no longer be targeted by any delivery campaign.
Recipients can, however, choose to unsubscribe from a service without unsubscribing from all services. To
allow this, you can use a web form (refer to the Web functionalities guide) or insert a personalized
unsubscription link (see Adding personalization blocks [page 118]).
You can also unsubscribe a recipient manually from the recipient profile. To do this, click the Subscriptions
tab of the recipient concerned, select the information service(s) concerned, and click Delete.
You can also unsubscribe one or more recipients via the information service concerned. To do this, click the
Subscriptions tab of the service, select the recipients concerned and click Delete.

Neolane v6.1 - Neolane Delivery - Information and sponsoring services | 133

Neolane
Automatic unsubscription
An information service can have a limited duration. Recipients will be unsubscribed automatically when the
period of validity has expired. This period is specified in the Edit tab of the service properties. It is expressed
in days.

You can also set up an unsubscription workflow for a population. To do this, follow the same procedure as
for a subscription workflow, but select the Unsubscription option. See Subscribing a recipient to a service
[page 132].

Subscriber tracking
You can track the changes in subscriptions to the information services using the Dashboard > Reports
tab.
Access to reports: subscriber tracking, loyalty, unsubscription curves

134 | Neolane 2013

Information and sponsoring services

Viral marketing and social networks


Overview
Neolane lets you set up tools to encourage viral marketing.
This lets delivery recipients or website visitors share information with their network: from adding a link to
their Facebook or Twitter profile to sending a message to a friend.

Warning:
In order for added links to function properly, the matching mirror page must be available. To do this, include
the link to the mirror page in the delivery.

Neolane v6.1 - Neolane Delivery - Information and sponsoring services | 135

Neolane

Social networks: sharing a link


To enable delivery recipients to share the content of messages with members of their network, you need to
include the matching personalization block.

136 | Neolane 2013

Information and sponsoring services

Note:
By default, this link is not offered in the list of blocks. You can access it by clicking Other..., and selecting
the Social network sharing links block.

Rendering will be as follows:

When the recipient clicks the icon of one of the social networks displayed, they are automatically redirected
to their account and can share the message content via a link. This lets the members of their network access
the communication.

Neolane v6.1 - Neolane Delivery - Information and sponsoring services | 137

Neolane

Note:
This personalization block contains all links (for message sending and sharing with all social networks). It
can be altered to meet your needs. However, configuration is reserved for advanced users. To edit the
matching personalization block, go to the Resources>Campaign management>Personalization blocks
node of the Neolane tree.

Viral marketing: forward to a friend


A viral service allows referral-type actions to be carried out: these actions enable you to forward a message
to a friend. The profile of the referee(s) is stored temporarily in the database (in a dedicated table). Forwarded
messages include a link for the referee to subscribe: if they do, they will be added to the Neolane database.
Message forwarding is based on the same principles as social network links.
Apply the following stages:

1 Add the Social network sharing links personalization block into the body of the original message.
2 The message recipient can click the Email icon to send this message to one or more friends.

A referral form enables you to enter the email addresses of referees.

The message is sent to them when the main recipient clicks the Next button.

138 | Neolane 2013

Information and sponsoring services

Note:
The content of this message can be personalized to meet your needs. It is created based on the Transfer
of original message template, which is stored in the Administration>Campaign
management>Technical delivery templates node.
It is also possible to change the message forward form made available to the referrer To do this, you
need to change the Viral form Web application stored in the Resources>Online>Web applications
node.

3 In the forwarded message, a link lets the referee save their profile in the database. An entry form is
provided for this purpose.

Note:
This configuration can be adapted. To do this, you need to modify the Recipient subscription Web
application stored in the Resources>Online>Web applications node.
For more information on Neolane Web applications, refer to the Web functionalities guide.
Once they validate, a confirmation message is sent to them: they will only be registered for good once
they activate the link in the confirmation message. This message is created based on the Registration
confirmation template, which is stored in the Administration>Campaign management>Technical
delivery templates node.
The referee is added to the Recipients folder of the database and is subscribed (by default) to the
Newsletter information service.

Information tracking
Sharing and access to shared information is tracked. This information collected by Neolane is accessible in
two places:

Neolane v6.1 - Neolane Delivery - Information and sponsoring services | 139

Neolane
n

in the Tracking tab of the delivery (or individually for each recipient):

in a dedicated Sharing to social networks report:

140 | Neolane 2013

CHAPTER 5

Tracking deliveries

Table of Contents
Delivery dashboard . . . . . . . . .
Delivery summary . . . . . . . .
Delivery tracking . . . . . . . . .
Delivery log and history . . . . . .
Access to tracking logs . . . . . . .
Tracking the number of messages sent .
Message tracking . . . . . . . . . .
Overview . . . . . . . . . . .
Configuring tracking . . . . . . . .
Accessing the logs . . . . . . . .
Advanced parameters . . . . . . .
Quarantined addresses . . . . . . . .
Overview . . . . . . . . . . .
Error handling . . . . . . . . . .
Quarantine mechanism . . . . . . .
Access to quarantines . . . . . . .
Reports . . . . . . . . . . . . .
Accessing existing reports . . . . . .
Using reports . . . . . . . . . .
Global reports . . . . . . . . . .
Delivery reports . . . . . . . . .
Cumulative reports . . . . . . . .
Additional information on report indicators
Example . . . . . . . . . . . .
Indicator calculation formulas . . . .
Other indicators . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

142
142
142
143
144
144
145
145
145
147
148
150
150
150
155
157
158
158
158
159
170
178
179
179
187
193

Once the deliveries are sent, Neolane lets you track their lifecycle using various dedicated tools and
functionalities.
This lets you:
n

Edit each delivery and view its dashboard and tracking tabs. These are updated throughout the
delivery lifecycle.
For more on this, refer to Delivery dashboard [page 142].
Set up delivery tracking functionalities to follow recipient behavior: opens, clicks, unsubscriptions.
For more on this, refer to Message tracking [page 145].

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 141

Neolane

Delivery dashboard
To view the information on a delivery, edit it, view the dashboard and click the available tabs.
Tab contents may no longer be changed once the delivery has been sent.

Delivery summary
The Summary tab contains the characteristics of the delivery: delivery status, channel used, information
about the sender, subject, information concerning execution. For more on this, refer to Tracking the number
of messages sent [page 144].
The delivery reports section lets you look at a set of reports concerning the delivery action: general delivery
report, detailed report, delivery report, distribution of failed messages, opening rate, clicks and transactions,
etc. The contents of this tab can be configured according to your requirements. For more information, refer
to Delivery reports [page 170].

Delivery tracking
The Audit tab contains all messages concerning the proofs for the delivery. The Refresh button lets you
update the data. Use the Filters button to define a filter on the data.
Special icons enable you to identify errors or warnings. See Analyzing the delivery [page 45] .

142 | Neolane 2013

Tracking deliveries
The Proofs sub-tab lets you view the list of proofs you have sent.

You can modify the information displayed in this window (and that of the Delivery and Tracking tabs) by
selecting the columns to be displayed. To do this, click the Configure list icon located in the lower right-hand
corner. For more on configuring list display, refer to the Neolane Platform guide.

Delivery log and history


The Delivery tab gives a history of the occurrences in this delivery. It contains the delivery logs, i.e. the list
of messages sent and their status (Sent, Failed, etc.) and the associated messages.
For a delivery, you can display (for example) only recipients with a failed delivery or an address in quarantine.
To do this, click the Filters button and select By state. Then select the state in the drop-down list.

Note:
The Display the mirror page for this message... link lets you view the mirror page for the contents of
the delivery selected from the list in a new window. The mirror page is available only for deliveries for which
HTML content has been defined. For more on this, refer to Managing the mirror page [page 57].

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 143

Neolane

Access to tracking logs


The Tracking tab lists the tracking history for this delivery. This tab displays tracking data for the messages
sent, i.e. all URLs subject to tracking by Neolane. The tracking data is updated hourly.

Note:
If tracking isn't enabled for a delivery, this tab isn't displayed.
The default filter above the list lets you select the type of link (unsubscribe, mirror page, opening, etc.) and
enter the label.
Tracking configuration is performed at the appropriate stage in the delivery wizard. See Configuring tracking
[page 145].

Note:
n
n

For further information about message tracking, see Message tracking [page 145].
This data is interpreted in the delivery reports. See Delivery reports [page 170].

Tracking the number of messages sent


You access deliveries from the delivery list, accessed via the Campaign management > Deliveries node
of the tree.
By default, the list of deliveries contains the names and statuses of the deliveries created in the selected
node. It also shows the number of messages to send, processed and sent with success.
n

The number of Messages to send corresponds to the number of recipients targeted after analysis and
prior to delivery.
The number of messages in the success column corresponds to the number of messages sent by the
server and received by the recipients.
The number of processed messages corresponds to the number of messages received plus the number
of messages with errors.

The Execution section of the delivery dashboard lets you track the number of messages sent.

Note:
For large deliveries, you may wish to update these values. To do this, select the delivery in question and
then right-click it. Select Action>Recompute delivery and tracking indicators... and then use the
wizard to update this information.

144 | Neolane 2013

Tracking deliveries

Message tracking
Overview
In the context of an e-mail delivery, tracking lets you track the messages sent and the behavior of recipients:
opening, clicks on links, unsubscription, etc. This information is retrieved in the Tracking tab of the profile
of each recipient of the delivery. This tab presents all the URL links tracked and clicked by the recipient
selected from the list. This is the accumulation of all URLs tracked in the deliveries that are still present in
the delivery screen. The list can be configured and typically will contain: the URL clicked, the date and time
of the click, and the document in which the URL was found. For more on this, refer to the section on the
Tracking tab of the Neolane Platform guide.
The tracking data can be viewed in the Top URL, Cumulated clicks, and Transactions reports.

Configuring tracking
For each delivery, you can track the reception of messages and the activation of the links inserted in the
message content. This lets you track the behavior of recipients following the delivery actions which they
were targeted by.

Note:
Tracking applies to messages, but webtracking lets you monitor how recipients browse a website (pages
visited, purchases).
The configuration of webtracking is presented in the Configuration Guide.
Message tracking is enabled by default. To configure URLs, select the Display URLs option in the lower
section of the delivery wizard.

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 145

Neolane
When you select a URL from the URL list, it is highlighted in the delivery content except for the link in the
mirror page and the

For each URL of the message, you can choose whether or not to activate tracking.

Warning:
If necessary, you can de-activate tracking on a URL, including when the URL of the link is used as a label;
this avoids risks of rejection due to phishing. For example, if the www.neolane.com URL is inserted into the
message, the content of the hypertext link will be modified (if the URL is tracked) to
http://nlt.neolane.net/r/?id=xxxxxx. This means that it could be considered as fraudulent by recipient message
clients.

146 | Neolane 2013

Tracking deliveries
The label and tracking mode can be altered. To change a tracking label, double-click the label and enter a
new one. To change the tracking mode, select a new mode in the Tracking column which matches the
targeted link, as shown below:

Note:
The names of the tracked URLs and the labels can be modified to simplify the reading of information when
tracking deliveries. Two URLs or two labels with the same name will be added together when calculating the
click count.

Accessing the logs


When the delivery has been launched, the Tracking technical workflow is in charge of retrieving the tracking
data. It is executed hourly by default.
This information appears in the Tracking tab of the profile of recipients targeted by the delivery, as in the
following example:

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 147

Neolane
It is also accessible via the Tracking tab of the delivery.

Advanced parameters
Advanced message tracking settings are accessible via the Tracking & Images icon in the toolbar of the
delivery wizard.

You can configure the tracking options:


n

Activate/Deactivate URL tracking for delivery messages

148 | Neolane 2013

Tracking deliveries
n

Activate/Deactivate tracking for message opens

The tracked URLs are listed in the central window in tree form.
You can activate or deactivate tracking individually for each URL of the message.
The Advanced tab lets you personalize the calculation formulas of the tracked URLs and the opening URL.

The management of images in e-mails is also configured in this window. See Handling images in emails
[page 30].

Warning:
The settings in this tab can be modified by power users only.

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 149

Neolane

Quarantined addresses
Overview
Neolane manages a list of quarantined addresses. Recipients whose address is quarantined are excluded by
default during delivery analysis, and will not be targeted. An email address can be quarantined, for example,
when the mailbox is full or if the address does not exist. In any case, the quarantine procedure complies
with specific rules described below.
Each e-mail address has an error counter that is incremented when the sending of a message fails. In a
default configuration, an address is quarantined after one 'hard' or five consecutive 'soft' errors at least 24
hours apart.
n
n

A "hard" error indicates an invalid address ("User unknown", for instance).


A "soft" error can be temporary (such as a full inbox).
Refer to the "Fail types" sections (Synchronous errors [page 150]) and Quarantine mechanism [page 155]
for more information on error types.

Warning:
Quarantine applies only to an e-mail address, not the recipient himself.
This means that, if two recipients have the same e-mail address, they will both be affected if the address is
quarantined.
Likewise, a recipient whose e-mail address is quarantined could update his profile and enter a new address
(via a web form, for example), and could then be targeted by delivery actions again.
Blacklisting, on the other hand, will result in the recipient concerned no longer being targeted by any delivery,
e.g. after an unsubscription.

Error handling
There are synchronous and asynchronous errors. A delivery can fail at either of two moments:

1 Synchronous error: the remote mail server contacted by the Neolane delivery server returned an error
2

message. Neolane qualifies each error in order to determine whether or not the e-mail addresses concerned
should be quarantined. See Synchronous errors [page 150].
Asynchronous error: a bounced mail was resent later by the incoming server. This mail is loaded into a
technical mailbox the application uses to label messages with an error. After an e-mail sending failure,
Neolane applies many rules to categorize the error message.

Note:
Configuration of the bounce mailbox is detailed in the Installation Guide.
The feedback loop operates like bounce emails. When a user qualifies an email as spam, you can configure
email rules in Neolane to block all deliveries to this user. Messages sent to users who have qualified an
email as spam are automatically redirected towards an email box specifically created for this purpose.
The addresses of these users are blacklisted even though they didn't click the unsubscription link. Addresses
are blacklisted in the (NmsAddress) quarantine table and not the (NmsRecipient) recipient table.
For more on this, refer to Asynchronous errors [page 153].

Synchronous errors
When the delivery of an email fails, the Neolane delivery server receives an error message from the messaging
server or the remote DNS server. The list of errors is made up of strings contained in the message returned
by the remote server. Failure types and reasons are assigned to each error message. This list is available via
the Campaign management>Administration>Non-deliverables management>Delivery log
qualification node.

150 | Neolane 2013

Tracking deliveries
This list, which is non exhaustive, can also be updated by the user.

Failure types
Failures must be categorized for the return and quarantine mechanisms to function. There are three
types of error, determining how the application behaves and manages an error:

1 Hard: This involves an error message that explicitly states that the address is invalid, such as:
2
3
n

"Unknown user".
Soft: This might be a temporary error, or one that could not be categorized, such as: "Invalid domain"
or "Mailbox full".
Ignored: This is an error that is known to be temporary, such as "Out of office", or a technical error,
e.g. if the sender type is "postmaster".

Reason for failure

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 151

Neolane
There are many possible reasons for Failed addresses. For example, in the list of quarantined addresses,
the Quarantine reason field indicates why the selected address was placed in quarantine.

n
n
n
n
n
n
n

n
n
n

152 | Neolane 2013

User unknown (Hard type): the address does not exist. There is no use sending deliveries to this
address.
Unreachable (Soft type): an error has occurred in the message delivery chain. It could be an incident
on the SMTP relay, a domain that is temporarily unreachable, etc. These addresses can be removed
from the quarantine list to make another attempt.
Mailbox full (Soft bounce): the recipient's mailbox contains too many messages. This address can
be removed from the quarantine list to make another attempt. It is removed automatically after 30
days.
Warning: in order for the address to be automatically removed from the list of quarantined addresses,
the Database cleanup technical workflow must be started.
Refused (Ignored type): the address was rejected following the application of a security rule (e.g.
by an anti-spam program).
Undefined (Soft type): the error is undergoing qualification pending increase of its counter.
This type of error occurs when a new error message is sent by the server: it can be an isolated error,
but if it occurs again, the error counter increases, which will alert the technical teams. They can then
carry out message analysis and qualify this error, via the Administration > Campaign management
> Non deliverables Management node in the tree structure.
Error ignored: the address is whitelisted and the message ignored.
Address not specified: no address is given for the recipient.
Blacklisted address: the address was blacklisted at the time of sending.
Address in quarantine: the address was in quarantine at the time of sending.
Double: the address of the recipient was already in this delivery.
Excluded by a SQL rule: the recipient was excluded by a 'SQL' type campaign typology rule.
Excluded after arbitration: the recipient was excluded by a 'arbitration' type campaign typology
rule.
Delivery cancelled: a personalization script cancelled the sending of this message.
Bad-quality address: the quality rating for this address is too low.
Unqualified address: the postal address has not been qualified.

Tracking deliveries
n

Account disabled: the user uses a messaging service which is accessible from the web. When the
Internet Access Provider (IAP) detects a lengthy period of inactivity, it can close the user's account.
Deliveries to the user's address will then be impossible.
Not connected: the recipient's mobile phone is switched off or not connected to the network when
the message is sent.
Invalid domain: the domain of the e-mail address is incorrect or no longer exists.

Note:
When a delivery is successful after a retry, the error counter of the address which was prior to that
quarantined is reinitialized. The address status changes to Valid and it is deleted from the list of
quarantines after two days by the Database cleanup workflow.

Asynchronous errors
Mail rules are accessed via the Campaign management>Administration>Non deliverables
management>Mail rule sets node. Email management rules are shown in the lower part of the window.
These rules contain the list of character strings which can be returned by remote servers and which let you
qualify the error (Hard, Soft or Ignored).

Note:
The default parameters of the platform are configured in the deployment wizard. For further information,
refer to the Installation Guide.
The default rules are as follows:
n

Incoming mail
When an email fails, the remote server returns a bounce message to the address specified in the platform
parameters. Neolane compares the content of each bounce mail to the strings in the list of rules, and
then assigns it one of the three error types.
The user can create his own rules.

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 153

Neolane

Warning:
When importing a package, the user-created rules are overwritten.

Domain management
The domain management rules are used to regulate the flow of outgoing e-mails for a specific domain.
They sample the bounce messages and block sending where appropriate. The Neolane messaging server
applies rules specific to the domains, and then the rules for the general case represented by an asterisk
in the list of rules. Rules for the Hotmail and MSN domains are available by default in Neolane.

Click the Detail icon to access rule configuration.

To configure domain management rules, simply set a threshold and select certain SMTP parameters. A
threshold is a limit calculated as an error percentage beyond which all messages towards a specific
domain are blocked.
For example, in the general case, for a minimum of 300 messages, the sending of e-mails is blocked for
three hours if the error rate reaches 90%.

154 | Neolane 2013

Tracking deliveries
The SMTP parameters act as filters applied for a blocking rule.
n

n
n

You can choose whether or not to activate certain identification standards and encryption keys to
check the domain name, such as Sender ID, DomainKeys, DKIM, and S/MIME.
Short/long SMTP timeout: lets you configure the response time for the remote server. If the
server does not respond, the e-mail is considered to be unsent.
SMTP relay: lets you configure the IP address and the port of a relay server for a particular domain.
Try next MX: lets you tell the delivery server (MTA) which retry policy to apply (Platform default,
Never, During retries, Always).

MX Management
For more on MX management, refer to the Installation guide.

Important:
n
n

The delivery server (MTA) must be restarted if the parameters have been changed.
The modification or creation of management rules is for power users only.

Quarantine mechanism
Principle
Failed deliveries can result in email addresses being placed in quarantine. The recipients whose email address
is in quarantine are automatically excluded during the delivery analysis in order to speed up deliveries (the
error rate has a significant effect on delivery speed) and avoid blacklisting by internet access providers.

Important:
Certain internet access providers automatically consider e-mails to be spam if the rate of invalid addresses
is too high.

Note:
The increase in number of quarantines is a normal effect, related to the "wear" of the database.
For example, if the lifetime of an e-mail address is considered to be three years and the recipients table
increases by 50% each year, the increase in quarantines can be calculated as follows:
End of Year 1: (1*0.33)/(1+0.5)=22%.
End of Year 2: ((1.22*0.33)+0.33)/(1.5+0.75)=32.5%.

Implementation
The application manages erroneous addresses according to the type of error.

1 When a Hard error occurs, the corresponding e-mail address is immediately placed in quarantine.
2 Ignored errors do not send an address to quarantine.
3 Soft errors therefore do not cause immediate placement in quarantine, but they increment an error
counter. When the error counter reaches the limit threshold, the address goes into quarantine. In the
default configuration, the threshold is set at five errors, where two errors are significant if they occur at
least 24 hours apart. The address is placed in quarantine at the sixth error.
For Soft or Ignored synchronous errors, retries will be performed for the duration of validity of the delivery.
The default configuration allows five retries at one-hour intervals, followed by one retry per day for four
days. This configuration can be changed globally using the deployment wizard or for each delivery action or
delivery template.

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 155

Neolane
n

To modify the delivery limit at the level of a delivery, edit the delivery in question and specify the desired
duration in the corresponding field from the Properties, as in the example below:

To modify the delivery limit for the entire platform, you must modify the parameters of the deployment
wizard (e-mail channel/advanced parameters). The deployment wizard is presented in the Installation
Guide.

Removing a quarantined address


If you need to remove an address from quarantine, change its status manually to Valid.

If you change the status to Whitelisted, the address will be targeted systematically each time even if an
error is encountered.

Warning:
Blacklisted addresses are not concerned by the quarantine system and are not targeted, even if you change
the status of the address.
You can also change the number of errors and the period between errors. To do this, change the settings
of the deployment wizard (Email channel/Advanced settings). For more on the deployment wizard, refer to
the Installation guide.

156 | Neolane 2013

Tracking deliveries

Access to quarantines
In delivery reports
The following reports provide information about the addresses in quarantine:
n

For each delivery, the Delivery summary report shows the number of addresses in quarantine in the
delivery target. It displays:
n

The number of addresses placed in quarantine during the delivery analysis,

The number of addresses placed in quarantine following the delivery action.

The Non-deliverables and bounces report displays information about the addresses in quarantine,
the types of error encountered, etc., and a failure breakdown by domain.

You can look up this information for all deliveries of the platform (Home page>Reports) or for a specific
delivery. You can also create customized reports and select the information to be displayed.

For a recipient
You can look up the status of the e-mail address of any recipient. To do this, select the recipient profile and
click the Deliveries tab. For all deliveries to that recipient, you can find out whether the address failed, was
quarantined during analysis, etc. For each folder, you can display only the recipients whose e-mail address
is in quarantine. To do this, use the Email in quarantine application filter.

For an e-mail address


The Campaign management>Administration>Non-deliverables management>Non-deliverables
and addresses node lets you look up the list of quarantined addresses and all related data. The following
information is available for each address:

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 157

Neolane

Reports
Reports enable you to monitor delivery actions and their impact with recipients. They can also concern
subscriptions or other nodes of the tree.
Each report presents a set of tracking data concerning a delivery, or an information service, etc. This data
can be accessed via links that let you navigate between reports.

Accessing existing reports


Neolane offers several types of reports, accessible via the customer console or an internet browser.
The following types of report are available:
n
n
n

Reports on the entire platform, see Global reports [page 159].


Delivery reports, see Delivery reports [page 170].
Cumulated reports, see Cumulative reports [page 178]

You can access reports from the client console home page, the reports dashboard or the delivery list. The
display mode of a report depends on its context. The list of main reports is available on the home page and
lets you access delivery data quickly. This list can be changed to suit your needs. Refer to the Configuration
guide for more information.

Using reports
A search field is available via the report dashboard for quick access to one of the reports on the list.

158 | Neolane 2013

Tracking deliveries
When the report is generated, you can perform various actions using the icons on the toolbar to the right of
the report window.

You can:
n
n
n
n
n

Export the report to Excel, PDF or Open Document,


Print the report,
Create history the report,
Display history of the report,
Update the data in the report,

Note:
Some reports feature charts (curve, bar, funnel, etc.). Move your cursor over a chart to display its values.
For more information on these options, refer to the Reports chapter in the Configuration guide.

Global reports
These reports concern the activity of the data in the entire database. To view the reports dashboard, go to
the Reports universe.

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 159

Neolane
To display reports, click their names. The following reports are available by default:

Warning:
This section shows only the reports linked to deliveries.
n
n
n
n
n
n
n
n
n
n
n
n
n

Delivery throughput: refer to Delivery throughput [page 161].


Browsers: refer to Browsers [page 164].
Sharing to social networks: refer to Sharing to social networks [page 165].
Statistics on sharing activities: refer to Statistics on sharing activities [page 167].
Operating systems: refer to Operating systems [page 167].
URLs and click streams: refer to URLs and click streams [page 174].
Tracking indicators: refer to Tracking indicators [page 172].
Non-deliverables and bounces: refer to Non-deliverables and bounces [page 162].
User activities: refer to User activities [page 161].
Subscription tracking: refer to Subscription tracking [page 169].
Delivery summary: refer to Delivery summary [page 175].
Delivery statistics: refer to Delivery statistics [page 170].
Breakdown of opens: refer to Breakdown of opens [page 170].

160 | Neolane 2013

Tracking deliveries

Delivery throughput
This report contains information on the delivery throughput of the entire platform for a given period.

You can configure the values displayed by changing the timescale: 1-hour view, 3-hour view, 24-hour view,
etc. Click Refresh to confirm your selection.

User activities
This report shows the breakdown of opens, clicks and transactions per half-hour, hour or day, in the form
of a chart.

The following options are available:

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 161

Neolane
n

Opens: Total number of messages opened. Emails in text format are not taken into account. For more
information on tracking opens, refer to Tracking opens [page 179].
Clicks: Total number of clicks on links in deliveries. Clicks on unsubscription links and mirror pages are
not taken into account.
Transactions: Total number of transactions after a message is received. In order for a transaction to
be taken into account, a transaction type webtracking tag must be inserted into the matching web page.
Webtracking configuration is presented in the Configuration Guide.

Non-deliverables and bounces


This report shows the breakdown of non-deliverables as well as a breakdown of bounces per internet domain.
The Number of messages processed represents the total number of messages processed by the delivery
server. This value is lower than the number of messages to be delivered when some deliveries have been
stopped or paused (before being processed by the server).

Breakdown of errors by type

Note:
The errors shown in this report trigger the quarantine process. For more on quarantine management, refer
to Quarantined addresses [page 150].
The first section of this report shows the breakdown of non-deliverables in the form of a table of values and
a chart.
For each error type, we have:
n
n

the number of error messages of this type,


the percentage of messages with errors of this type compared to the total number of messages with
errors,

162 | Neolane 2013

Tracking deliveries
n

the percentage of error messages of this type compared to the total number of messages processed.

The following indicators are used:


n
n

User unknown: Error type generated during delivery to indicate that the email address is invalid.
Invalid domain: Error type generated when sending a delivery to indicate that the domain of the email
address is wrong or does not exist.
Inbox full: Error type generated after five delivery attempts to indicate that the recipients' inbox contains
too many messages.
Account disabled: Error type generated when sending a delivery to indicate that the address no longer
exists.
Rejected: Error type generated when an address is rejected by the IAP (Internet Access Provider), for
instance following the application of a security rule (anti-spam software).
Unreachable: Error type which occurs in the message distribution string: incident on the SMTP relay,
domain temporarily unreachable, etc.
Not connected: Error type to indicate that the recipients' mobile phone is switched off or disconnected
from the network at the time of sending.

Note:
This indicator only concerns deliveries on mobile channels. For more on this, refer to Delivering on mobile
channels: SMS, MMS [page 62]
You can open up each line of the value table by clicking the [+] symbol. For each error type, you can
show the breakdown of error messages by domain.

Breakdown of errors per domain


The second section of this report shows the breakdown of errors per Internet domain in the form of a table
of values and a chart.
For each domain name, we have:
n
n

the number of messages with errors for this domain,


the percentage of messages with errors for this domain compared to the total number of messages
processed for this domain.
the percentage of error messages for this domain compared to the total number of error messages,

You can open up each line of the value table by clicking the [+] symbol. For each domain type, you can show
the breakdown of error messages by error type.

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 163

Neolane

Note:
The domain names displayed in this report are defined at cube level. To change theses values, edit the
Delivery logs (broadlogrcp) cube. For more on this, refer to the Neolane Platform guide. The Others
category includes domain names that don't belong to a specific class.

Browsers
This report shows the breakdown of internet browsers used by delivery recipients for the concerned period.

Note:
The values shown in this report are estimates: only recipients who have clicked in a delivery will be taken
into account.
Global statistics
The global statistics on browser use are presented in the form of a table of values and a chart.

The following indicators are used:


n

n
n

Visitors: Total number of recipients targeted (per internet browser) and having clicked on a delivery at
least once.
Pages viewed: Total number of clicks on links in a delivery (per internet browser) for all deliveries.
Usage rate: This rate represents the breakdown of visitors (per internet browser) in relation to the total
number of visitors.

Statistics per browser

164 | Neolane 2013

Tracking deliveries
In the table of global statistic values, you can click on each browser name to view their usage statistics.

Statistics are presented in the form of a curve, a chart and a table of values.
The History curve represents the attendance rate of this browser per day. The rate is the ratio of the number
of visitors per day (on this browser) compared to the number of visitors measured on the day with the highest
attendance rate.
The Breakdown per version chart represents the breakdown of visitors per version compared to the total
number of visitors (on this browser).
The table of values uses the following indicators:
n

Global rate: This rate represents the breakdown of visitors per version compared to the total number
of visitors (on all browsers).
Relative rate: This rate represents the breakdown of visitors per version compared to the total number
of visitors (on this browser).

Sharing to social networks


Viral marketing lets delivery recipients share information with their contact network: they can add a link to
their profile (Facebook, Twitter, etc.) or send a message to a friend. Each share and each access to shared
information is tracked within the delivery. For more information on viral marketing, refer to Viral marketing
and social networks [page 135].

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 165

Neolane
This report shows the breakdown of shared and opened messages per social network (Facebook, Twitter,
etc.) and/or per email.

Email sending statistics


In the email sending statistics, two values are displayed:
n
n

Number of messages to be delivered: Total number of messages processed during delivery analysis.
Number of successful deliveries: Number of messages processed successfully.

Sharing activities and mail open statistics


The central table shows the statistics on email shares and opens.
In the Shares column, we have the following indicators:
n

No. of sharing activities: Total number of messages shared on each social network. This value equals
the total number of clicks on the icon of the matching Links for sharing to social networks
personalization block.
Breakdown: This rate represents the breakdown of shares per social network, in relation to the total
number of shares.
Sharing rate: This rate represents the breakdown of shares per social network, in relation to the number
of messages to be delivered.

In the Opens column, we have the following indicators:


n

No. of opens: Total number of messages opened by people whom the message was forwarded to (via
the Links for sharing to social networks personalization block). This value equals the number of
times the mirror page was displayed. Opens by delivery recipients are not taken into account.
Breakdown: This rate represents the breakdown of opens per social network, in relation to the total
number of opens.
Rate of opens: This rate represents the breakdown of opens per social network, in relation to the total
number of shares.

Breakdown of sharing activities and opens


This section includes two charts which represent the breakdown of sharing activities and opens per social
network.

166 | Neolane 2013

Tracking deliveries

Statistics on sharing activities


This report shows the evolution of shares to social networks (Facebook, Twitter, email, etc.) in time.
For more information on viral marketing, refer to Viral marketing and social networks [page 135].

Statistics are presented in the form of a table of values and a chart.


The following indicators are used:
n

New contacts: Number of new subscriptions following the reception of a message shared via email.
This value matches the number of people who received a message shared via email, clicked the
Subscription link and filled in the subscription form.
Opens: Total number of messages opened by people whom the message was transferred to (via the
Link for sharing to social networks personalization block). This value equals the number of times
the mirror page was displayed. Opens by delivery recipients are not taken into account.
Sharing activities: Total number of messages shared via social networks. This value matches the total
number of clicks on the icon of the Links for sharing to social networks personalization block.

Operating systems
This report shows the breakdown of operating systems used by delivery recipients for the concerned period.

Note:
The values shown in this report are estimates: only recipients who have clicked in a delivery will be taken
into account.
Global statistics

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 167

Neolane
The global usage statistics of operating systems are presented in the form of a table of values and a chart.

The following indicators are used:


n

Visitors: Daily average of the total number of targeted recipients (per operating system) who clicked in
a delivery at least once.
Pages viewed: Daily average of the total number of clicks on delivery links (per operating system) for
all deliveries.
Rate of use: This rate represents the breakdown of visitors (per operating system) in relation to the
total number of visitors.

Statistics per operating system


In the table of global statistics values, click the name of each operating system to view the statistics per
operating system.

Statistics are presented in the form of a curve, a chart and a table of values.
The History curve represents the rate of use of this operating system per day. This rate is the ratio of the
number of visitors per day (on this operating systems) in relation to the number of visitors measured on the
day with the highest attendance.
The Breakdown by version chart represents the breakdown of visitors per version in relation to the total
number of visitors on this operating system.

168 | Neolane 2013

Tracking deliveries
The table of values uses the following indicators:
n

Global rate: This rate represents the breakdown of visitors (per version) in relation to the total number
of visitors throughout the operating systems.
Relative rate: This rate represents the breakdown of visitors (per version) in relation to the total number
of visitors for this operating system.

Subscription tracking
This report lets you monitor subscriptions to information services. It shows subscriptions and unsubscriptions.

It can be displayed for a subscription by clicking the Profiles and targets>Services and subscriptions
node of the home page or the explorer. Select the desired subscription, and then click the Reports tab. The
Subscriptions tracking report is available by default. It lets you see the subscription and unsubscription
trends and the loyalty rate over a period. You can configure the representation of this data via the drop-down
list. Click Refresh to validate the selected configuration.
For further information, see Creating and managing information services [page 127].
The Number subscribed to date represents the total number of people currently subscribed.
Overall evolution of subscriptions
The table of values uses the following indicators:
n
n
n
n

Subscribers: Total number of subscribers for the concerned period.


Subscriptions: Number of subscriptions for the concerned period.
Unsubscriptions: Number of unsubscriptions for the concerned period.
Evolution: Number of unsubscriptions minus the number of subscriptions. The rate is calculated based
on the total number of subscribers.
Loyalty: Loyalty rate of subscribers for the concerned period.

Subscription evolution curves


This chart shows the evolution of subscriptions and unsubscriptions for the concerned period.

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 169

Neolane

Delivery statistics
This report shows the breakdown by internet domain, of all messages processed and sent, of hard and soft
bounces, opens, clicks and unsubscriptions.

The following indicators are used:


n
n

Emails processed: Total number of messages processed by the delivery server.


Delivered: percentage of the number of messages successfully processed compared to the total number
of messages processed.
Hard bounces: percentage of the number of "hard" bounces compared to the total number of messages
processed.
Soft bounces: percentage of the number of "soft" bounces compared to the total number of messages
processed.

Note:
For more on hard and soft bounces, refer to Quarantined addresses [page 150].

Opens: percentage of the number of targeted recipients who opened a message at least once compared
to the number of messages processed successfully.
Clicks: percentage of the number of people who clicked in a delivery at least once compared to the
number of messages processed successfully.
Unsubscription: percentage of the number of clicks on an unsubscription link compared to the number
of messages processed successfully.

Breakdown of opens
This report shows the breakdown of opens by operating system, device and browser for the period concerned.
For each category, two charts are used. The first displays statistics regarding opens on a computer and
mobile devices. The second displays statistics relating only to opens on mobile devices.
The number of opens corresponds to the total number of messages opened. Text format emails are not
counted. For more information on Tracking opens, refer to the Tracking opens [page 179] section.

Note:
Browser and operating system names make up part of the information sent by the browser's user agent to
which the nail has been opened. Adobe Campaign deduces the type of device using its the device information.

Delivery reports
You can track the execution of deliveries via various reports accessible from the delivery overview. To display
reports, apply the following procedure:

170 | Neolane 2013

Tracking deliveries

1 Go to the Campaigns universe and click the Delivery link to display the list of deliveries.
2 Click the name of the delivery you want to display to show its details

3 Select the Summary tab and click the Reports link to access the reports specific to the delivery.

By default, the following reports are available:


n
n
n
n
n

Delivery throughput: refer to Delivery throughput [page 161].


Sharing to social networks: refer to Sharing to social networks [page 165].
Statistics on sharing activities: refer to Statistics on sharing activities [page 167].
Position of clicks: refer to Hot clicks [page 176].
Tracking statistics: refer to Tracking statistics [page 177].

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 171

Neolane
n
n
n
n
n
n
n

URLs and click streams: refer to URLs and click streams [page 174].
Tracking indicators: refer to Tracking indicators [page 172].
Non-deliverables and bounces: refer to Non-deliverables and bounces [page 162].
User activities: refer to User activities [page 161].
Delivery summary: refer to Delivery summary [page 175].
Subscription tracking: refer to Subscription tracking [page 169].
Delivery statistics: refer to Delivery statistics [page 170].

Tracking indicators
This report combines the key indicators for tracking the behavior of recipients upon receiving the delivery.
It gives access to delivery and reception statistics, open and click-through rates, generated click streams,
web tracking as well as sharing activities to social networks.

Note:
Values calculated based on message opens are always estimates, due to the margin of error linked to emails
in text format. The Distinct opens/Sum of opens for the population reached indicators take this
margin of error into account. For more information on tracking opens, refer to Tracking opens [page 179].

1. Delivery statistics
n
n

Message to deliver: Total number of messages to be delivered after delivery analysis.


Success: Number of messages successfully processed.

2. Reception statistics

172 | Neolane 2013

Tracking deliveries

Note:
The related percentages are calculated based on the number of messages forwarded successfully.
n

n
n

Distinct opens for the population reached: Estimation of the number of targeted recipients having
opened a message at least once. Clicks on unsubscription links and mirror pages are taken into account.
Sum of opens for the population reached: Estimation of the total number of opens by targeted
recipients.
Clicks on opt-out link: Number of clicks on the unsubscription link.
Clicks on the mirror page link: Number of clicks on the link to the mirror page. In order to be taken
into account, the link must be defined as such in the delivery wizard (tracked URLs). Refer to Message
tracking [page 145].
Estimation of forwards: Estimation of the number of emails forwarded by the targeted recipients. This
value is calculated by subtracting the number of distinct people and the number of distinct recipients
who clicked in the email.

Note:
For more information on the difference between distinct people and targeted recipients, refer to Targeted
persons / recipients [page 179].
3. Open and click-through rate
This table of values shows the breakdown of deliveries, opens, clicks and raw reactivity per Internet domain.
The following indicators are used:
n
n

Sent: Total number of messages sent on this domain.


Complaints: Number of messages for this domain that have been reported as undesirable by the
recipient. The rate is calculated based on the total number of messages sent on this domain.
Opens: Number of distinct targeted recipients for this domain who have opened a message at least
once. The rate is calculated based on the total number of messages sent on this domain.
Clicks: Number of distinct targeted recipients who clicked in the same delivery at least once. The rate
is calculated based on the total number of messages sent on this domain.
Raw reactivity: Percentage of the number of recipient who clicked in a delivery at least once compared
to the number of recipients who opened a delivery at least once.

Note:
The domain names displayed in this report are defined at cube level. To change theses values, edit
theTracking logs (trackinglogrcp) and Delivery logs (broadlogrcp) cubes. For more on this, refer
to the Neolane Platform guide. The Others category includes domain names that don't belong
to a specific class.
4. Generated click streams

Note:
Linked percentages are calculated based on the number of messages forwarded successfully.
n

n
n

Distinct clicks for the population reached: Number of distinct people having clicked in a delivery at
least once.
Cumulated clicks: Total number of clicks by targeted recipients, excluding unsubscription links and
mirror pages.
Recipient clicks: Number of distinct targeted recipients who clicked in the same delivery at least once.
Estimated recipient reactivity: Ratio of the number of recipients having clicked at least once in a
delivery compared to the estimated number of recipients having opened a delivery at least once. Clicks
on the opt-out and mirror page links are not taken into account.

5. Web tracking
n
n

Visited pages: Number of web pages visited following message reception.


Transactions: Number of purchases following message reception.

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 173

Neolane
n
n
n
n

Total amount: Total amount of purchases following message reception.


Average transaction amount: Average purchase made by distinct delivery recipients.
Articles: Number of articles purchased by the delivery recipients.
Average count of articles per transaction: Average number of items per purchase made by distinct
recipients.
Average amount per message: Average amount of purchases generated per message.

Note:
In order for a visited page, transaction, amount or item to be taken into account, a webtracking tag must
be inserted into the matching web page. Webtracking configuration is presented in the Configuration
guide.
6. Sharing activities to email and social networks
This section shows the number of messages shared on each social network. For more on this, refer to Sharing
to social networks [page 165].

URLs and click streams


This report shows the list of pages visited following a delivery.

You can configure the contents of this report by selecting: the score chart to be displayed, the time filter
(since the action launch, over the first 6 hours following launch, etc.) and the data display mode (by label,
by URL). Click Refresh to confirm your selection.
The following rates are displayed in the upper section of the report:
n

Reactivity: Ratio of the number of targeted recipients having clicked in a delivery, in relation to the
estimated number of targeted recipients having opened a delivery. Clicks on the opt-out link and on the
mirror page are not taken into account.

174 | Neolane 2013

Tracking deliveries

Note:
For more information on tracking opens, refer to Tracking opens [page 179].

Distinct clicks: Number of distinct people having clicked at least once (excluding unsubscription link
and mirror page) in a delivery. The rate displayed is calculated based on the number of messages delivered
successfully.
Cumulated clicks: Total number of clicks by targeted recipients (excluding unsubscription link and
mirror page). The rate displayed is calculated based on the number of messages forwarded successfully.

Platform average: This average rate, displayed under each rate (reactivity, distinct clicks, and cumulated
clicks), is calculated for deliveries sent over the previous six months. Only deliveries with the same typology
and on the same channel are taken into account. Proofs are excluded.
The central table provides the following information:
n
n

Clicks: Number of cumulated clicks, per link.


Clicks (in %): Breakdown of the number of clicks per link, in relation to the total number of cumulated
clicks.

Breakdown of clicks in time


This chart shows the breakdown of cumulated clicks per day.

Delivery summary
This report provides all the main information on the delivery.

Target population
This section has two indicators:
n
n

Initial population: Total number of recipients targeted by the delivery.


Messages rejected by the rule: Number of addresses ignored during the analysis when applying
typology rules: address missing, quarantined, blacklisted, etc. For more information on typology rules,
refer to Campaign typologies [page 52].

Causes of exclusion
The middle chart shows the breakdown per rule of messages rejected during the analysis.
Delivery statistics

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 175

Neolane
This section includes the following indicators:
n
n

Message to be delivered: Total number of messages to be delivered after delivery analysis.


Success: Number of messages processed successfully. The associated rate is the ratio with the number
of messages to be delivered.
Errors: Total number of errors cumulated during deliveries and automatic rebound processing. The
associated rate is the ratio with the number of messages to be delivered.
New quarantines: Number of addresses quarantined following a failed delivery (user unknown, invalid
domain). The associated rate is the ratio with the number of messages to be delivered.

Hot clicks
This report shows the message content (HTML and/or text) with, on each link, the percentage of clicks on
links. Personalization blocks unsubscription links, mirror page links and offer links are taken into account in
the total cumulated clicks but are not displayed in the report.

Note:
If your delivery contains offers (Neolane Interaction), a box appears in the part above the report displaying
the percentage of clicks on the offers.

176 | Neolane 2013

Tracking deliveries

Tracking statistics
This report provides statistics on opens, clicks and transactions.

It lets you track the marketing impact of the delivery. You can configure how values are displayed by changing
the timescale (1-hour, 3-hour, or 24-hour view, etc.). Click Refresh to confirm your selection.
This report provides a table of values and a Pareto chart which display the time required for the delivery to
reach maximum efficiency. The following indicators are used:
n

Opens: Estimate of the time needed to reach a percentage of the total number of messages opened.
Emails in text format aren't taken into account. For more information on tracking opens, refer to Tracking
opens [page 179].
Clicks: Estimate of the time required to reach a percentage of the total number of clicks recorded. Clicks
on the opt-out link and the mirror page are not taken into account.
Transactions: Time required to achieve a percentage of the total number of transactions following
message reception. In order for a transaction to be taken into account, a transaction type webtracking
tag must be inserted into the matching web page. Webtracking configuration is presented in the
Configuration guide.

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 177

Neolane

Cumulative reports
You can display cumulated reports on deliveries. To do this, select the deliveries to be compared to obtain
the list of reports for these deliveries.

Tip:
To select non-adjacent deliveries from the list, hold down the CTRL key while making your selection.
To select deliveries saved in a different folder click Display sub-levels (accessible via the toolbar). They
will then be displayed in the same list.

178 | Neolane 2013

Tracking deliveries

Additional information on report indicators


Indicator synchronization
If you experience desynchronization or inconsistency for certain indicators, select the concerned delivery in
the Neolane explorer, right-click and choose Action>Recompute delivery and tracking indicators. Click
Next, then click Finish.

Tracking opens
In order for Neolane to detect message opens, the recipient must display the images in the email. HTML and
Multipart/Alternative emails include a 0 pixel image, which enable you to detect messages which have been
opened. Since messages in text format do not include any images, it is impossible to detect whether they
have been opened or not. Values calculated based on message opens are always estimates, due to the error
margin linked to image display.

Targeted persons / recipients


In some reports, Neolane differentiates targeted persons and targeted recipients.
Targeted recipients are all the recipients whom the delivery was sent to.
The number of persons includes targeted recipients plus all persons whom the email was forwarded to. Each
time there is an open or a click in a new browser (which the message has not yet been opened in), another
person is added to the statistics.
For instance, if you receive an email (sent by Neolane) at work and open or click in it, you will be counted
as a targeted recipient (i.e. recipient=1, person=1). If you forward this email to two friends, the number of
targeted recipients will still equal one, while the number of persons will equal three. Value 3 coincides with
each open/click in a new browser.

Example
In this example, we want to send a delivery to several people to highlight the difference between people
and recipients while detailing the calculation method for the following indicators:
n
n
n
n
n

Clicks
Distinct clicks for the population reached
Distinct opens for the population reached
Estimation of forwards
Raw reactivity

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 179

Neolane

Note:
These indicators are used in the Tracking indicators report. For more on this, refer to Tracking indicators
[page 172].
Three links are added to a delivery. It is sent to 4 recipients:

n
n
n

John Davis: this recipient does not open the email (and therefore does not click any links).
Marie Stuart: opens the email but does not click any links.
Florian David: opens the email and clicks the links 9 times. He also forwards the email to someone who
opens it and clicks twice.
Henry Macdonald: this recipient has configured their internet browser to reject cookies. He opens the
email and clicks the links 4 times.

180 | Neolane 2013

Tracking deliveries
The following tracking logs are returned:

To get a clearer idea of how people and recipients are counted, we are going to analyze the logs of each
profile.

Step 1: John
John Davis does not open the email (and therefore does not click any links).

Since John neither opened nor clicked in the email, he doesn't appear in the logs.
Intermediate calculation:

John

Recipients who clicked

People who clicked

Recipients who opened

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 181

Neolane
Intermediate total

Step 2: Marie
Marie Stuart opens the email but does not click any links.

Marie's open is displayed in the following log:

The open is assigned to a recipient: Marie. Neolane therefore adds a new recipient to the count.
Intermediate calculation:

Recipients who clicked

People who clicked

Recipients who opened

John

Marie

+1

182 | Neolane 2013

Tracking deliveries
Intermediate total

Step 3: Florian
Florian David opens the email and clicks the links 9 times. He also forwards the email to someone who
opens it and clicks twice.

Florian's actions (one open and 9 clicks) appear in the following logs:

Recipients: the open and the clicks are assigned to the same recipient (Florian). Since this recipient is
different from the previous one (Marie), Neolane adds a new recipient to the count.
People: Since this recipient's browser accepts cookies, we can see that the same identifier (UUID) is assigned
to all click logs: fe37a503 [...]. Neolane correctly identifies these clicks as belonging to the same person.
A new person is added to the count.
Intermediate calculation:

Recipients who clicked

People who clicked

Recipients who opened

John

Marie

+1

Florian

+1

+1

+1

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 183

Neolane
Intermediate total

The following logs coincide with the open and two clicks carried out by the person whom Florian forwarded
the email to:

Recipients: its open and clicks are assigned to the recipient who forwarded the email (Florian). Since this
recipient has already been counted, the recipient count remains the same.

People: concerning clicks, we can see that the same identifier (UUID) is assigned to all logs: 9ab648f9
[...]. This identifier hasn't been counted yet. A new person is therefore added to the count.

Intermediate calculation:

Recipients who clicked

People who clicked

Recipients who opened

John

Marie

+1

Florian

+1

+1

+1

184 | Neolane 2013

Tracking deliveries
Unknown person

+1

Intermediate total

Step 4: Henry
Henry Macdonald has configured his internet browser to reject cookies. He opens the email and clicks the
links 4 times.

The open and 4 clicks carried out by Henry appear in the following logs:

Recipients: the open and clicks are assigned to the same recipient (Henry). Since this recipient hasn't been
counted yet, Neolane adds a recipient to the count.
People: Since Henry's browser does not accept cookies, a new identifier (UUID) is generated for each click.
Each of the 4 clicks is interpreted as coming from a different person. Since these identifiers haven't been
counted yet, they are added to the count.
Intermediate calculation:

Recipients who clicked

People who clicked

Recipients who opened

John

Marie

+1

Florian

+1

+1

+1

Unknown person

+1

John

+1

+4

+1

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 185

Neolane
Intermediate total

Summary
At the delivery level, we have the following results:

n
n
n

Clicks (recipients who clicked): 2


Distinct clicks for the population reached (people who clicked): 6
Distinct opens for the population reached (recipients who opened): 3

Raw reactivity and estimation of forwards are calculated as follows:

n
n

Estimation of forwards = B - A (thus 6 - 2 = 4)


Raw reactivity = A / C (thus 2 / 3 = 66,67%)

Note:
In the following formulas:
n
n
n

A represents the Clicks indicator (recipients who clicked).


B represents the Distinct clicks for the population reached indicator (people who clicked).
C represents the Distinct opens for the population reached indicator (recipients who opened).

186 | Neolane 2013

Tracking deliveries

Indicator calculation formulas


User activities

Label

Field name

Indicator description

Indicator calculation formula

Opens

@opens

Sum of all @totalClicks with a URL primary sum(Iif([@url-id]=1, @totalClicks, 0))


key equal to 1.

Clicks

@clicks

Sum of all @totalClicks with a URL type


equal to "Email click".

sum(Iif([url/@type]=1, @totalClicks, 0))

Transactions

@transactions

Sum of all @totalClicks with a URL type


equal to "Transaction".

sum(Iif([url/@type]=5, @totalClicks, 0))

This report is based on the Consolidated tracking table (nms:trackingStats). This aggregate table isn't
calculated in real-time. If the indicators are up-to-date, the results will be the same as for the tracking
indicators report. The @totalClicks indicator expresses the total number of click over a 5 minute period.

Non-deliverables and bounces


Breakdown by error type
This report is based on the Delivery and tracking statistics table (nms:deliveryLogStats).

Label

Field name

Indicator description

Indicator calculation formula

Total number of processed @totalProcessed


messages

Sum of messages with a status equal to


"Ready", "Sent" or "Failed".

@prepared + @error + @success

User unknown

@unknownUser

Count of all messages with a status equal Count(@status=2 and msg/@failureReasto "Failed" and a reason equal to "User
on=1)
unknown".

Unreachable

@unreachable

Count of all messages with a status equal Count(@status=2 and msg/@failureReasto "Failed" and a reason equal to "Unreach- on=3)
able".

Rejected

@refused

Count of all messages with a status equal Count(@status=2 and msg/@failureReasto "Failed" and a reason equal to "Rejec- on=20)
ted".

Invalid domain

@invalidDomain

Count of all messages with a status equal Count(@status=2 and msg/@failureReasto "Failed" and a reason equal to "Invalid on=2)
domain".

Account disabled

@disabled

Count of all messages with a status equal Count(@status=2 and msg/@failureReasto "Failed" and a reason equal to "Account on=4)
disabled".

Inbox full

@mailBoxFull

Count of all messages with a status equal Count(@status=2 and msg/@failureReasto "Failed" and a reason equal to "Inbox
on=5)
full".

Errors

@value

Number of failed messages for this type


of error.

Contribution

Percentage of errors of this type compared percent(@value,@totalErrors)


to the total number of error messages.

Breakdown

Percentage of errors of this type compared percent(@value,@totalProcessed)


to the total number of processed messages.

Count(@status=2 and msg/@failureReason="Value of the error type")

Breakdown by domain
The second part of the report details the breakdown of failed messages by internet domain as opposed to
error type. The formula linked to the Error indicator (@value) in this case is: Count(@status=2 and
@domain="Value of the domain name"), i.e. a count of all messages with a failed status for this domain.

Browsers
This report is based on the Internet Browser Statistics table (nms:userAgentsStats).
Global statistics

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 187

Neolane
Label

Field name

Indicator description

Indicator calculation formula

Visitors

@totalVisitors

Total number of targeted recipients for this Sum(@visitors)


browser who clicked in a delivery at least
once.

Page views

@totalPages

Total number of clicks on delivery links


using this browser, for all deliveries.

Sum(@pages)

Usage rate

Percentage of visitors for this browser


compared to the total number of visitors.

percent(@totalVisitors, sum(@totalVisitors))

Statistics per browser

Label

Field name

Indicator description

Indicator calculation formula

Usage rate

@visitors

Percentage of the number of visitors per


day using this browser compared to the
number of visitors measured on the day
with the most visits.

percent(sum(@visitors),max(@visitorsOfTheDay))

Global rate

Percentage of visitors for this version


compared to the total number of visitors
using all browsers.

percent(@totalVisitors, @globalVisitors)

Relative weight

Percentage of visitors for this version


compared to the total number of visitors
using this browser.

percent(@totalVisitors, sum(@totalVisitors))

Sharing to social networks


this report is based on the Delivery (nms:delivery), Consolidated tracking (nms:trackingStats), and Web
tracking (nms:webTrackingLog) tables.

Label

Field name

Indicator description

Number of messages to
deliver

@totalTarget

Total number of messages processed dur- sum([properties/@totalTarget])


ing the delivery analysis.

Indicator calculation formula

Number of successful deliv- @success


eries

Number of messages processed successfully

sum([indicators/@success])

Email

@email

Sum of all @totalClicks for which the URL Sum(iIf([url/@catcategory equals "email".
egory]='email',@totalClicks,0))

Facebook

@facebook

Sum of all @totalClicks for which the URL Sum(iIf([url/@category]='facecategory equals "facebook".
book',@totalClicks,0))

Twitter

@twitter

Sum of all @totalClicks for which the URL Sum(iIf([url/@category]='twitcategory equals "twitter".
ter',@totalClicks,0))

Delicious

@delicious

Sum of all @totalClicks for which the URL Sum(iIf([url/@category]='delicategory equals "delicious".
cious',@totalClicks,0))

Digg

@digg

Sum of all @totalClicks for which the URL Sum(iIf([url/@catcategory equals "digg".
egory]='digg',@totalClicks,0))

Google

@google

Sum of all @totalClicks for which the URL Sum(iIf([url/@catcategory equals "google".
egory]='google',@totalClicks,0))

Linkedin

@linkedin

Sum of all @totalClicks for which the URL Sum(iIf([url/@category]='linkedcategory equals "linkedin".
in',@totalClicks,0))

Shares

Label

Field name

Indicator description

Indicator calculation formula

Number of shares

@forward

Total number of messages shared on this


social network.

Sum(iIf([url/@category]="Value of the
social network type",@totalClicks,0))

Breakdown

@percent

Percentage of the number of shares on


this social network compared to the total
number of shares.

percent(@forward, sum(@forward))

188 | Neolane 2013

Tracking deliveries
Label

Field name

Indicator description

Indicator calculation formula

Sharing rate

@rate

Number of shares on this network com@forward / @totalTarget


pared to the number of messages to deliver.

Label

Field name

Indicator description

Indicator calculation formula

Number of opens

@open

Total number of tracking lines in the web


tracking table.

Count

Breakdown

@percentOpen

Percentage of the number of opens on this percent(@open, sum(@open))


social network compared to the total
number of opens.

Rate of opens

@rateOpen

Number of opens on this social network


@open / @totalTarget
compared to the total number of messages
to deliver.

Opens

Statistics of the sharing activities


This report is based on the Delivery (nms:delivery), Consolidated tracking (nms:trackingStats), and Web
tracking (nms:webTrackingLog) tables.

Label

Field name

Indicator description

Indicator calculation formula

New contacts

@newContacts

Count of the number of visitors linked to


a recipient.

Formula: count(@id)

Opens

@opened

Count of all @ids with a URL type equal to count (Iif([url/@type] = 2, @id, 0))
"Open".

Shares

@shared

URL category included in 'email' , 'facecount (Iif([url/@category] IN (email' ,


book' , 'twitter' , 'delicious' , 'digg' , 'google' 'facebook' , 'twitter' , 'delicious' , 'digg' ,
, 'linkedin'
'google' , 'linkedin'), @totalClicks, 0))

Filter: @recipient-id != 0

Count of all @totalClicks with a URL category that equals "email", "facebook",
"twitter", "delicious", "digg", "google" or
"linkedin".

Operating systems
This report is based on the Internet Browser Statistics table (nms:userAgentsStats).
Global statistics

Label

Field name

Indicator description

Visitors

@totalVisitors /
@days

Daily average of the total number of recip- Sum(@visitors)


ients targeted by the operating system
who clicked in a delivery at least once.

Indicator calculation formula

Pages viewed

@totalPages / @days Daily average of the total number of clicks Sum(@pages)


on the delivery links per operating systems
for all deliveries.

Usage rate

Breakdown of visitors per operating system percent(@totalVisitors, sum(@totalVisitcompared to the total number of visitors. ors))

Statistics per operating system

Label

Field name

Indicator description

Indicator calculation formula

Usage rate

@visitors

Percentage of the number of visitors per percent(sum(@visitors), max(@visitorday on this operating system compared to sOfTheDay))
the number of visitors measured on the
day with the most visits.

Global rate

Percentage of visitors per version compercent(@totalVisitors, @globalVisitors)


pared to the total number of visitors on all
operating systems.

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 189

Neolane
Label

Field name

Indicator description

Indicator calculation formula

Relative rate

Percentage of visitors per version compercent(@totalVisitors, sum(@totalVisitpared to the total number of visitors using ors))
this operating system.

Subscription tracking
This report is based on the Services table (nms:service).

Label

Field name

Indicator description

Registered

@_subscriber

Count of registered people on the previous sum(Iif(@created < addDays(getDate(),


day.
(-1)), 1, 0))

Indicator calculation formula

Subscriptions

@_subscription

count of subscriptions (@action = 1) on


the previous day.

sum(Iif(@action = 1 and @date > addDays(getDate(), (-1)), 1, 0))

Unsubscriptions

@_unsubscription

count of unsubscriptions (action = 0) on


the previous day.

sum(Iif(@action = 0 and @date > addDays(getDate(), (-1)), 1, 0))

Evolution

Number of subscriptions minus the number


of unsubscriptions. The rate is calculated
in relation to the total number of subscribers.

Iif(number(@_subscription) > number(@_unsubscription), '+',


'')+format(@_subscription - @_unsubscription, 'number', '# ##0')+ Iif(@_subscriber>0,' (' + format(100*percent(@_subscription - @_unsubscription, @_subscriber), 'number', '#,##0.00')+ '%)','')

Loyalty

Subscriber loyalty rate for the related


period.

1-percent(@_unsubscription,@_subscriber+@_subscription-@_unsubscription)

Tracking indicators
This report is based on the Delivery and tracking statistics (nms:deliveryLogStats) and Consolidated
tracking (nms:trackingStats) tables.

Label

Field name

Indicator description

Indicator calculation formula

Message to deliver

@toDeliver

Count of the number of broadLogs after


target analysis.

sum([properties/@toDeliver])

Success

@successWithoutSeeds

Count of messages for which the "seed


count((@status=3 or @status=1 or
address" field equals "No" and with a
@status=5) and @seedMember=0)
status equal to "Taken into account by the
service provider" or "Sent" or "Received
on the mobile".

Distinct opens on the pop- @estimatedRecipienulation reached


tOpen

Extrapolation of the number of distinct


Iif(([@toDeliver] - [@text]) = 0, 0,
opens for all emails based on the number round(toDouble(@recipientOpen) *
of distinct opens for emails in html format. [@toDeliver] / ([@toDeliver] - [@text]),
0))

Sum of opens on the popu- @estimatedTotalRecip- Extrapolation of the total number of opens Iif(([@toDeliver] - [@text]) = 0, 0,
lation reached
ientOpen
for all emails based on the total number
round(toDouble(@totalRecipientOpen) *
of opens of emails in html format.
[@toDeliver] / ([@toDeliver] - [@text]),
0))
Clicks on the unsubscription link

@optOut

Count of all @ids with a URL category


equal to "Opt-out".

count(Iif([url/@type]=3, @id, 0))

Clicks on the link to the


mirror page

@mirrorPage

Count of all @ids with a URL category


equal to "Mirror page".

count(Iif([url/@type]=6, @id, 0))

Estimation of forwards

@forward

Difference between the number of distinct @personClick - @recipientClick


people and the number of distinct recipients who clicked in the email at least once.

Sends

@successWithoutSeeds

Count of the messages for which the "seed count((@status=3 or @status=1 or


address" field equals "No" and with a
@status=5) and @seedMember=0)
status equal to "taken into account by the
recipient" or "Sent" or "Received on mobile".

Screamers

screamers

Count of messages with a status equal to Count(@status=2 and msg/@failureReas"Failed" and a reason equal to "blacklisted on=8)
address".

Opens

@recipientOpen

Count of all @broadLog-ids in all tracking


logs.

190 | Neolane 2013

Countdistinct ([@broadLog-id])

Tracking deliveries
Label

Field name

Indicator description

Indicator calculation formula

Clicks

@recipientClick

Distinct count of @broadLog-ids with a


URL type equal to "Email click".

Countdistinct(Iif([url/@type]=1, @broadLog-id, 0))

Raw reactivity

Percentage of the number of recipients


percent(@recipientClick,@recipientOpen)
who clicked in a delivery at least once
compared to the number of recipients who
opened a delivery at least once.

Distinct clicks on the popu- @personClick


lation reached

Count of all @source-ids with a URL category equal to "Email click".

Countdistinct(Iif([url/@type]=1, @sourceid, 0))

Cumulated clicks

@totalRecipientClick

Count of all @ids with a URL category that count(Iif([url/@type]=1, @id, 0))
equals "Email click".

Recipient clicks

@recipientClick

Distinct count of the @broadLog-ids with


a URL type that equals "Email click".

Estimated reactivity

Ratio of the number of recipients who


percent(@recipientClick, @estimatedRecipclicked in a delivery at least once compared ientOpen
to the estimate of recipients who opened
the delivery at least once.

Visited pages

@totalWebPage

Count of all @ids with a URL type equal to count(Iif([url/@type]=4 or [url/@type]=5,


"Web" or "Transaction".
@id, 0))

Transactions

@transaction

Count of all @ids with a URL type equal to count(Iif([url/@type]=5, @id, 0))
"Transaction".

Total amount

@amount

Sum of webTrackingLog/@amounts with


a URL type equal to "Transaction".

Average transaction
amount

Ratio of the total amount compared to the div(@amount, @transaction)


number of transactions.

Items

@article

Sum of webTrackingLog/@articles with a


URL type that equals "Transaction".

Average number of items


per transaction

Ratio of the number of items compared to div(@article, @transaction)


the number of transactions.

Average amount per mes- sage

Ratio of the total amount compared to the div(@amount, @toDeliver)


number of messages to deliver.

Email

@email

Sum of all @totalClicks with a URL category that equals "email".

Sum(iIf([url/@category]='email',@totalClicks,0))

Facebook

@facebook

Sum of all @totalClicks with a URL category that equals "facebook".

Sum(iIf([url/@category]='facebook',@totalClicks,0))

Twitter

@twitter

Sum of all @totalClicks with a URL category that equals "twitter".

Sum(iIf([url/@category]='twitter',@totalClicks,0))

Delicious

@delicious

Sum of all @totalClicks with a URL category that equals "delicious".

Sum(iIf([url/@category]='delicious',@totalClicks,0))

Digg

@digg

Sum of all @totalClicks with a URL category that equals "digg".

Sum(iIf([url/@category]='digg',@totalClicks,0))

Google

@google

Sum of all @totalClicks with a URL category that equals "google".

Sum(iIf([url/@category]='google',@totalClicks,0))

Linkedin

@linkedin

Sum of all @totalClicks with a URL category that equals "linkedin".

Sum(iIf([url/@category]='linkedin',@totalClicks,0))

Countdistinct(Iif([url/@type]=1, @broadLog-id, 0))

Sum(Iif([url/@type]=5, webTrackingLog/@amount, 0))

Sum(Iif([url/@type]=5, webTrackingLog/@article, 0))

URLs and click streams


This report is based on the Delivery table (nsm:delivery).

Label

Field name

Indicator description

Indicator calculation formula

Reactivity

@reactivity

Ratio of the number of targeted recipients percent([indicators/@recipientClick], [indicwho clicked in a delivery at least once
ators/@estimatedRecipientOpen])
compared to the estimated number of targeted recipients who opened a delivery at
least once.

Distinct clicks

@distinctClicks

Ratio of the number of distinct people who percent([indicators/@personClick], [indicclicked in a delivery at least once compared ators/@success])
to the number of messages delivered with
success.

Cumulated clicks

@totalClicks

Ratio of the total number of clicks by tar- percent([indicators/@totalRecipientClick],


geted recipients compared to the number [indicators/@success])
of messages delivered with success.

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 191

Neolane
Label

Field name

Indicator description

Indicator calculation formula

Clicks

@_click

Count of all @totalClicks with a URL


primary key different from 1

count(Iif([@url-id] != 1, @totalClicks, 0))

Clicks (%)

Percentage of the number of clicks compared to the total number of cumulated


clicks.

percent(@_click, @_total)

Delivery summary
This report is based on the Delivery table (nms:delivery).

Label

Field name

Indicator description

Indicator calculation formula

Initial population

@totalTarget

Total number of recipients targeted by the sum([properties/@totalTarget])


delivery.

Messages rejected by the


rule

@reject

Number of addresses ignored during the sum([properties/@reject])


analysis in keeping with typology rules:
address not specified, quarantined, blacklisted, etc.

Messages to deliver

@toDeliver

Total number of messages to deliver after sum([properties/@toDeliver])


delivery analysis.

Success

@success

Number of messages processed with suc- sum([indicators/@success])


cess.

Errors

@error

Total number of errors cumulated during


deliveries and automatic bounce processing.

New quarantines

@newQuarantine

Number of quarantined addresses following sum([indicators/@newQuarantine])


a delivery fail (user unknown, invalid domain).

sum([indicators/@error])

Hot clicks
This report is based on the Delivery(nms:delivery) and Consolidated tracking (nms:trackingStats) tables.
This report shows the message content (HTML and/or text) with, on each link, the percentage of clicks on
links. Personalization blocks unsubscription links and mirror page links are taken into account in the total
cumulated clicks but are not displayed in the report.

Tracking statistics
This report is based on the Delivery table (nms:delivery).

Label

Field name

Indicator description

Indicator calculation formula

Transactions

@transactions

Sum of all @totalClicks with a URL type


that equals "Transaction".

sum(Iif([url/@type] = 5, @totalClicks, 0))

Clicks

@clicks

Sum of all @totalClicks with a URL type


that equals "Email click".

sum(Iif([url/@type] = 1, @totalClicks, 0))

Open

@opens

Sum of all @totalClicks with a URL primary sum(Iif([@url-id] = 1, @totalClicks, 0))


key that equals 1.

Delivery statistics
This report is based on the Delivery and tracking statistics table (nms:deliveryLogStats).

Label

Field name

Indicator description

Indicator calculation formula

Emails processed

@processed

Total number of messages with a status


that equals "Ready", "Sent" or "Failed".

@prepared + @error + @success

Delivered

@success

Number of messages processed successfully.

indicators/@success

Hard bounces

@hardBounce

Total number of messages with a status


that equals "Failed" and a reason that
equals "User unknown".

@unknownUser

192 | Neolane 2013

Tracking deliveries
Label

Field name

Indicator description

Indicator calculation formula

Soft bounces

@softBounce

Total of all messages with a status that


@unreachable + @mailBoxFull + @invalidequals "Failed" and a reason that equals Domain + @disabled + @notConnected +
"unreachable", "inbox full", "invalid do@refused
main", "disabled account", "not connected"
or "rejected"

Opens

@recipientOpen

Total number of @broadLog-ids in the


tracking logs.

Clicks

@personClick

Total number of @source-ids for which the Countdistinct(Iif([url/@type]=1, @sourceURL category equals "Email click".
id, 0))

Unsubscriptions

@optOut

Total number of @ids for which the URL


category equals "Opt-out".

Countdistinct ([@broadLog-id])

count(Iif([url/@type]=3, @id, 0))

Breakdown of opens
This report is based on Deliveries (nms:delivery) and Tracking logs (nms:trackingLogRcp) tables.

Label

Field name

Indicator description

Indicator calculation formula

Opens

Sum of all @id with a URL primary key


equal to 1 (open).

count(Iif([@url-id] = 1, @id, 0))

@totalRecipientOpen

Other indicators
The Sent indicator (@sent), accessed via the Deliveries (nms:delivery) > Indicators node corresponds
to the total number of SMS sent to the service provider. This indicator is only used for SMS deliveries and
must not be used for other types of deliveries (not to be confused with the @success and @processed
indicators).

Neolane v6.1 - Neolane Delivery - Tracking deliveries | 193

Neolane

194 | Neolane v6.1 - Neolane Delivery

APPENDIX A

Neolane Mobile App


Channel Option

Table of Contents
Configuration . . . . . . . . . . . . .
Introduction . . . . . . . . . . . .
Main configuration steps . . . . . . . .
Data path . . . . . . . . . . . . .
Integrating the SDK into the mobile application
Configuring the mobile application in Neolane .
Implementation . . . . . . . . . . . .
Sending notifications in iOS . . . . . . .
Sending notifications on Android . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

197
197
197
198
199
202
207
209
213

The Mobile App Channel lets you use the Neolane platform to send personalized notifications to
iOS and Android terminals. Two new delivery channels are now available:
n

an iOS channel that enables you to send notifications to Apple mobile devices (iPhone, iPad,
iPod touch):

Neolane v6.1 - Neolane Delivery - Neolane Mobile App Channel Option | 195

Neolane
n

an Android channel that enables you to send notifications to Android mobile devices:

You can also define the application behavior for when the user taps the notification to display the screen
that matches the application context:
n

A notification is sent to the customer to let them know their parcel has exited the warehouse. Tapping
the notification opens a page with delivery-related information on it.
The user has added items to the cart, but left the application without completing the purchase. A
notification is sent, telling them that their cart has been abandoned. When they tap the notification, the
item is displayed on the screen.

Two delivery activities have been added to the campaign workflows (if you have acquired the Neolane
Campaign application):

Two transactional messages were also added to the Neolane Message Center application.

Note:
The Neolane Mobile Application Channel option is compatible with Neolane Delivery, Neolane Campaign,
Neolane Message Center and Neolane Interaction.

196 | Neolane 2013

Neolane Mobile App Channel Option

Warning:
Please make sure the notifications sent to a mobile application comply with the prerequisites and conditions
specified by Apple (Apple Push Notification Service) and Google (Google Cloud Messaging).
Warning: in some countries, the law requires that you inform users of your collected data type mobile
applications and the purpose of their processing. Please check the legislation of your country.

Configuration
Introduction
Your company offers several versions of a mobile application (iOS, Android). The Neolane Mobile App channel
option enables you to send notifications to terminals which the application is installed on.
To use the functionalities of the Neolane Mobile App Channel, you need to change/adapt your mobile
application to integrate it into the Neolane platform. Two SDKs (one for Android and one for iOS) are available
for easy integration of your mobile application with Neolane. Good technical knowledge of Java and Objective-C
is required

Note:
A detailed description of the SDK is found in Integrating the SDK into the mobile application [page 199].

Main configuration steps


Definition of the technical specifications
The technical specifications must define the set of parameters that enable Neolane and the mobile application
to communicate. These parameters are:
n

the integration key: each application has a unique key. This key enables you to link the Neolane service
and the mobile application. Refer to Information tab [page 204].
the variables: defines the behavior of the application when you tap the notification. Refer to Variables
tab [page 205].
the subscription settings: by default, Neolane recovers the @userKey field that enables you to reconcile
mobile devices with the recipients in the database. If you want to collect additional data (such as a
complex reconciliation key), you can define subscription settings. Refer to Subscription settings tab
[page 206].
the sounds (iOS only): if the selected sound isn't a system sound, the sound file must be embedded
into the mobile application. Refer to Sounds tab [page 207].
the URL of the marketing server and the tracking server: the Neolane administrator must provide
the application developer with the URL of the marketing server and the URL of the tracking server. For
more on this, refer to: Integrating the SDK into the mobile application [page 199].

Creating the service and adapting/creating the application


The Neolane administrator needs to create and configure a service linked to the mobile application. For more
on this, refer to Configuring the mobile application in Neolane [page 202].
If you don't have a mobile application, the application developer needs to create it and integrate the SDK.
If the mobile application exists, the developer needs to adapt it by integrating the Neolane SDK and adding
the settings specific to the service. For a description of the SDK, refer to Integrating the SDK into the mobile
application [page 199].

Tests and approvals


On iOS, you need to create an application that uses the sandbox mode for tests and approvals. Then, within
the same Neolane service, create a new production type application and enter the relevant certificate. For
more on this, refer to the documentation on the Apple notifications service.
On Android, you only need to create one application. Test the full subscription and delivery collection process
on your application before making it public.

Neolane v6.1 - Neolane Delivery - Neolane Mobile App Channel Option | 197

Neolane

Data path
The following schemas detail the steps that enable a mobile application to exchange data with Neolane. This
process involves three entities:
n
n

the mobile application


the notification service: APNS (Apple Push Notification Service) for Apple and GCM (Google Cloud
Messaging) for Android
Neolane

The three main steps of the notification process are: registration of the application in Neolane (subscription
collection), deliveries, and tracking.

Step 1: Subscription collection


The mobile application is downloaded by the user from the App Store or from Google Play. This application
contains the connection settings (iOS certificate and project key for Android) and the integration key. The
first time the application is opened, (depending on configuration), the user can be asked to enter registration
information (@userKey: email or account number for instance). At the same time, the application questions
the notification service to collect a notification ID (push ID). All this information (connection settings, integration
key, notification identifier, userKey) is sent to Neolane.

Step 2: Delivery
Marketers target application subscribers. The delivery process sends the connection settings to the notification
service (iOS certificate and project key for Android), the notification ID (push ID) and the content of the
notification. The notification service sends notifications to the targeted terminals.

198 | Neolane 2013

Neolane Mobile App Channel Option


With Android, displays (impression) and opens are collected in Neolane. With iOS, only notification opens
are tracked.

Integrating the SDK into the mobile application


SDKs (Software Development Kit) for iOS and Android are one of the components of the Neolane Mobile App
Channel package.
The goal of the SDK is to facilitate the integration of a mobile application into the Neolane platform.

Warning:
The minimum supported versions of iOS and Android that are compatible with notifications are: iOS 3.0 and
Android 2.3.3

Loading of the SDK in a mobile application


n
n

With Android: the sdk.jar file must be linked to the project


With iOS: the libNeolaneSDK.a and Neolane_SDK.h files must be linked to the project.

Declaration of integration settings


To integrate the SDK into the mobile application, the functional administrator must provide the following
information to the developer:
n

An integration key: to enable the Neolane platform to identify the mobile application.

Neolane v6.1 - Neolane Delivery - Neolane Mobile App Channel Option | 199

Neolane

Note:
This integration key is entered in the Adobe Campaign console, in the Information tab of the service
dedicated to the mobile application. Refer to Information tab [page 204].

A tracking URL: that matches the address of the Neolane tracking server.
A marketing URL: to enable the collection of subscriptions.

With Android:

Neolane.getInstance.setIntegrationKey("your Neolane mobile app integration key")&nbsp;;


Neolane.getInstance.setMarketingHost("http://yourMarketingHost:yourMarketingPort/")&nbsp;;
Neolane.getInstance.setTrackingHost("http://yourTrackingHost:yourTrackingPort/")&nbsp;;

With iOS:
Neolane_SDK *nl = [Neolane_SDK getInstance];
[nl setMarketingHost:strMktHost];
[nl setTrackingHost:strTckHost];
[nl setIntegrationKey:strIntegrationKey];

Registration function
The registration function enables you to:

send the notification ID or push ID (deviceToken for iOS and registrationID for Android) to Neolane.
recover the reconciliation key or userKey (email or account number, for instance)

With Android:

void registerInNeolane(String registrationId, String userKey, Context context)


{
try{
Neolane.getInstance().registerDevice(registrationToken, userKey, null, context);
} catch (NeolaneException e){
//...
} catch (IOException e){
//...
}
}
n

With iOS:
// Callback called on successful registration to the APNS
- (void)application:(UIApplication*)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
// Pass the token to Neolane
Neolane_SDK *nl = [Neolane_SDK getInstance];
[nl registerDevice:tokenString:self.userKey:dic];
}

Tracking function
The tracking function enables you to:

Track notification display (screen impression) for Android only.


Track each tap on a notification.

With Android:

public void onReceive(Context context, Intent intent) {


if (intent.getAction().equals("com.google.android.c2dm.intent.RECEIVE")) {
// Create the notification
NotificationManager notificationManager = (NotificationManager)
context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(iconId, message,
System.currentTimeMillis());

200 | Neolane 2013

Neolane Mobile App Channel Option


String messageId = intent.getStringExtra("_mId");
String deliveryId = intent.getStringExtra("_dId");
// Notify the Neolane platform that notification has been received
try {
Neolane.getInstance().notifyReceive(Integer.valueOf(messageId),deliveryId);
} catch (NeolaneException e) {
// ...
} catch (IOException e) {
// ...
}
// create activity which will be displayed after user clicks the notification
Intent notifIntent = new Intent(context.getApplicationContext(),
NotificationActivity.class);
// Technical informations sent to the Neolane tracking platform: ID of the message
+ ID of the delivery
notifIntent.putExtra("_dId", deliveryId);
notifIntent.putExtra("_mId", messageId);
notifIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent contentIntent = PendingIntent.getActivity(context, 1, notifIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
// Add the notification in the menu box
notification.setLatestEventInfo(context, "Title", "notification text",
contentIntent);
// Hide the notification after click
notification.flags |= Notification.FLAG_AUTO_CANCEL;
// Launch the notification
notificationManager.notify(Integer.valueOf(messageId),

notification);

}
}
n

With iOS:
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)launchOptions
{
if( launchOptions )
{
// Retrieve notification parameters here
...

// Track application opening


Neolane_SDK *nl = [Neolane_SDK getInstance];
[nl track:launchOptions:NL_TRACK_CLICK];
}

...
}

Variables
The variables let you define mobile application behavior after receiving a notification. These variables must
be defined in the mobile application code and in the Neolane console, in the Variables tab in the dedicated
mobile application service (see Variables tab [page 205]). Here is an example of a code that allows a mobile
application to collect any added variables in a notification. In our example, we are using the "VAR" variable.
n

With Android:
public void onReceive(Context context, Intent intent) {
...
String event = intent.getStringExtra("VAR");
...
}

In iOS
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

Neolane v6.1 - Neolane Delivery - Neolane Mobile App Channel Option | 201

Neolane

....
if( launchOptions )
{
// When application is not already launched, the notification data if any are
stored in the key 'UIApplicationLaunchOptionsRemoteNotificationKey'
NSDictionary *localLaunchOptions = [launchOptions
objectForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"];
if( localLaunchOptions )
{
...
[localLaunchOptions objectForKey:@"VAR"];
...
}
}
}
// Callback called when the application is already launched (whether the application
is running foreground or background)
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)launchOptions
{
if( launchOptions )
{
...
[launchOptions objectForKey:@"VAR"];
}
}

Warning:
We recommend choosing short variable names because notification size is limited: 256 bytes for iOS and
4kb for Android.

Configuring the mobile application in Neolane


This is an example for the Neotrips company, which specializes in selling holiday packages online. It offers
a mobile application (Neotrips) available to its customers in two versions: Neotrips for Android and Neotrips
for iOS. To configure the mobile application in Neolane, apply the following steps

1 Create a Mobile application type service for the Neotrips mobile application.
2 Add the iOS and Android versions of the application to this service.

Note:
Go to the Subscriptions tab of the service to view the list of subscribers to the service, i.e. all people who
have installed the application on their mobile and agreed to receive notifications.

202 | Neolane 2013

Neolane Mobile App Channel Option

Creating the service / Collecting subscriptions

1 Go to the Profiles and Targets > Services and subscriptions node and click New

2 Define a Label and an Internal name.


3 Go to the Type field and select Mobile application.
Note:
The default Subscriber applications (nms:appSubscriptionRcp) target mapping is linked to the
recipients table. If you want to use a different target mapping, you need to create a new target mapping
and enter it in the Target mapping field of the service. For more on creating target mapping, refer to
the Configuration guide.

Neolane v6.1 - Neolane Delivery - Neolane Mobile App Channel Option | 203

Neolane

4 Then click the Add button to define the various versions of your mobile application (iOS, Android).

See below for a detailed presentation of the configuration steps for each version.

Information tab

1 Start by entering the Label.


2 Make sure the same Integration key is defined in Neolane and in the application code (via the SDK).
This integration key, which is specific to each application, lets you link the mobile application to the
Neolane platform.
Select the Target platform: Apple or Android.

3
4 Add the application icon if you want it to be visible in the delivery wizard preview.
Warning:
Expected image resolution is 48x48 pixels for iOS and 24/24 for Android.

5 Finally, enter the application connection settings:

204 | Neolane 2013

Neolane Mobile App Channel Option


n

For Apple: click the Enter the certificate link and select the authentication certificate and password
provided by the mobile application developer.

Note:
If the application is still in development, check Use sandbox mode.
Make sure you're not using the same certificate for the sandbox mode and the production mode.

For Android: enter the project key provided by the mobile application developer.

Variables tab

Variables let you define the application behavior following the receipt of a notification: for instance, you can
configure an application specific screen to come up when the user taps the notification. These variables must
be defined in the code of your mobile application. Click the Add button to add them to Neolane.

Warning:
Make sure the variable names in Neolane are the same as those in the mobile application code. Refer to the
Variables [page 201] section. We recommend choosing short variable names because notification size is
limited: 256 bytes for iOS and 4kb for Android.
The delivery wizard lets you define the values of these variables. Refer to Implementation [page 207].

Neolane v6.1 - Neolane Delivery - Neolane Mobile App Channel Option | 205

Neolane

Subscription settings tab

Note:
This tab only needs configuring if you want to collect additional data.

By default, Neolane saves a key in the User identifier (@userKey) field of the Subscriber applications
(nms:appSubscriptionRcp) table. This key enables you to link a subscription to a recipient. To collect
additional data (such as a complex reconciliation key), you need to apply the following configuration:

1 Extend the Subscriber applications (nms:appsubscriptionRcp) schema and define the new fields.
2 Define the mapping in the Subscription parameters tab
Warning:
Make sure the configuration names in the Subscription parameters tab are the same as those in the
mobile application code. Refer to the Integrating the SDK into the mobile application [page 199] section.

206 | Neolane 2013

Neolane Mobile App Channel Option

Sounds tab

Note:
This tab is only available for iOS versions of the applications.

If your iOS application has embedded sounds, use this tab to add them. You will then be able to use the
delivery wizard to select one of the sounds to be played when the notification is received. For more on this,
refer to Sending notifications in iOS [page 209].

Note:
System sounds can also be defined in this screen.
In the Application setting screen, the Internal name field must contain the name of the file embedded
in the application or the name of the system sound. The value entered in the Label field will appear in the
Play a sound drop-down list of the delivery wizard.

Implementation
This section details the elements specific to the delivery of iOS and Android notifications. All elements identical
to email deliveries are detailed in the Neolane Delivery guide.

Neolane v6.1 - Neolane Delivery - Neolane Mobile App Channel Option | 207

Neolane
Start by creating a new delivery.

208 | Neolane 2013

Neolane Mobile App Channel Option

Sending notifications in iOS


1 Select the Deliver on iOS delivery template.

2 To define the target of the notification, click the To link, then click Add.

Neolane v6.1 - Neolane Delivery - Neolane Mobile App Channel Option | 209

Neolane

3 Select Subscribers of an iOS mobile application (iPhone, iPad), select the service relevant to your
mobile application (Neotrips, in this case), then select the iOS version of the application.

4 Select the notification type: Alert, Badge, or Alert and badge.

210 | Neolane 2013

Neolane Mobile App Channel Option

5 Then enter the Message and the Value of the badge based on the chosen notification type

Note:
Badge and Alert and badge type notifications enable you to modify the value of the badge (the number
above the mobile application logo). However, you cannot send a notification to re-initialize this badge.

Warning:
The badge re-initialization function has to be implemented in the code of the mobile application.

6 In the Play a sound field, select the sound to be played by the mobile terminal when the notification is
received.

Note:
Sounds must be included in the application and defined when the Neolane service is created. Refer to
Sounds tab [page 207].

7 In the Application variables field, enter the value of each variable. Application variables let you define
notification behavior: for instance, you can configure a specific application screen to be displayed when
the user taps the notification.

Note:
Application variables must be defined in the code of the mobile application and entered during service
creation. For more on this, refer to: Variables tab [page 205].

Neolane v6.1 - Neolane Delivery - Neolane Mobile App Channel Option | 211

Neolane

8 Once the notification is configured, click the Preview tab to preview the notification.

To send a proof and to send the final delivery, use the same process as email deliveries.

212 | Neolane 2013

Neolane Mobile App Channel Option

Sending notifications on Android


1 Start by selecting the Deliver on Android (android) delivery template.

2 To define the target of the notification, click the To link, then click Add.

Neolane v6.1 - Neolane Delivery - Neolane Mobile App Channel Option | 213

Neolane

3 Select Subscribers of an Android mobile application, choose the service relevant to your mobile
application (Neotrips, in this case), then select the Android version of the application.

4 Then enter a content for the notification.

214 | Neolane 2013

Neolane Mobile App Channel Option

5 In the Application variables field, enter the value of each variable. Application variables let you define
notification behavior: for instance, you can configure a specific application screen to be displayed when
the user taps the notification.

Note:
Application variables must be defined in the code of the mobile application and entered during service
creation. For more on this, refer to: Variables tab [page 205].

6 Once the notification is configured, click the Preview tab to preview the notification.

To send a proof and to send the final delivery, use the same process as email deliveries.

Neolane v6.1 - Neolane Delivery - Neolane Mobile App Channel Option | 215

Neolane

216 | Neolane v6.1 - Neolane Delivery

APPENDIX B

Neolane Barcode Generator

Table of Contents
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Implementation in email . . . . . . . . . . . . . . . . . . . . . . .

217
218

Overview
The barcode generation module lets you create several types of barcodes that comply with many
common standards, including 2D barcodes
It is possible to dynamically generate a barcode as a bitmap using a value defined based on customer
criteria. Personalized barcodes can be included in email campaigns. The recipient can print the
message and show it to the issuing company for scanning (when checking out for example).

Warning:
The barcode generation module is a Neolane Platform option. Check your License agreement for
further information.

Neolane v6.1 - Neolane Delivery - Neolane Barcode Generator | 217

Neolane

Implementation in email
To insert a barcode into an email, place the cursor in the content where you want to display it, then click
the personalization button. Select Include > Barcode....

Then configure the following elements to suit your needs:

1 Select the type of barcode.


n

For 1D format, the following types are available in Neolane: Codabar, Code 128, GS1-128 (formerly
EAN-128), UPC-A, UPC-E, ISBN, EAN-8, Code39, Interleaved 2 of 5, POSTNET and Royal Mail
(RM4SCC).
Example of a 1D barcode:

The DataMatrix and PDF417 types concern the 2D format.


Example of a 2D barcode:

218 | Neolane 2013

Neolane Barcode Generator


n

To insert a QR code, select this type and enter the error correction rate to apply. This rate defines
the quantity of information repeated and the tolerance to deterioration.

Example of a QR code:

2 Enter the size of the barcode that you want to insert into the email: configuring the scale lets you increase
3

or reduce the size of the barcode, from x1 to x10.


The Value field enables you to define the value of the barcode. A value can match a special offer and
can be the function of a criteria, it can be the value of a database field linked to the customers.
This example shows an EAN-8 type barcode, to which was added the account number of a recipient. To
add this account number, click the personalization button to the right of the Value field and select
Recipient > Account number.

4 The Height field lets you configure the height of the barcode without changing its width, by altering the
amount of space between each bar.
There is no restrictive entry control depending on the type of barcode. If a barcode value is incorrect, it
will only be visible in Preview mode where the barcode will be crossed out in red.

Note:
The value assigned to a barcode depends on its type. For example, an EAN-8 type shall have exactly 8
numbers.
The personalization button to the right of the Value field lets you add data in addition to the value itself.
This enriches the barcode, provided that the barcode standard accepts it.
For example, if you are using a GS1-128 type barcode and want to enter the account number of a recipient
in addition to the value, click the personalization button and select Recipient > Account number. If
the account number of the selected recipient is entered correctly, the barcode takes it into account.

Neolane v6.1 - Neolane Delivery - Neolane Barcode Generator | 219

Neolane
Once these elements have been configured, you can finalize your email and send it. To avoid errors, always
make sure your content is displayed correctly before performing a delivery by clicking the Preview tab.

220 | Neolane 2013

Neolane Barcode Generator

Note:
If the value of a barcode is incorrect, its bitmap is shown crossed out in red.

Neolane v6.1 - Neolane Delivery - Neolane Barcode Generator | 221

Neolane

222 | Neolane v6.1 - Neolane Delivery

APPENDIX C

Neolane Email Deliverability


option

Table of Contents
Overview . . . . . . . . .
Managing the deliverability functions
Qualifying bounce mails . . . .
Technical monitoring . . . . .
Inbox monitoring . . . . . . .
Inbox rendering . . . . . . .
Overview . . . . . . . .
Overall operation . . . . . .
Using an external table . . . .
SpamAssassin . . . . . . . .

. .
. .
. .
. .
. .
. .
. .
. .
. .
. .

. .
. .
. .
. .
. .
. .
. .
. .
. .
. .

. .
. .
. .
. .
. .
. .
. .
. .
. .
. .

. .
. .
. .
. .
. .
. .
. .
. .
. .
. .

. .
. .
. .
. .
. .
. .
. .
. .
. .
. .

. .
. .
. .
. .
. .
. .
. .
. .
. .
. .

. .
. .
. .
. .
. .
. .
. .
. .
. .
. .

. .
. .
. .
. .
. .
. .
. .
. .
. .
. .

. .
. .
. .
. .
. .
. .
. .
. .
. .
. .

.
.
.
.
.
.
.
.
.
.

223
223
224
224
225
226
226
226
228
230

Overview
Neolane offers tools to track the deliverability performance of your platform. These functions are
part of a dedicated option, the Deliverability supervision module.
When this module is configured for your Neolane platform, you have access to the following
information:
n
n
n

Technical tracking report for day to day deliverability performance (technical monitoring)
ISP inbox rendering report,
Overview of message quality (inbox, spam),

Warning:
The Neolane Email Deliverability module is a Neolane Platform option. Please check your license
agreement.

Managing the deliverability functions


The functionalities of the Deliverability module are managed by two technical workflows. They
only work if the HTTPS feed is open for deliverability.neolane.net.
n

The Update test network for Inbox Rendering workflow lets you recover the target
addresses used when sending proofs.

Neolane v6.1 - Neolane Delivery - Neolane Email Deliverability option | 223

Neolane

For more on this, refer to Inbox rendering [page 226].


The Update for deliverability workflow is installed by default on all instances and lets you initialize
the list of bounce mail qualification rules, the list of domains and the list of MXs. Once the Deliverability
module is installed, the list of rules is updated regularly and you may actively manage platform
deliverability.
For more on this ,refer to Qualifying bounce mails [page 224].

Qualifying bounce mails


The Neolane platform lets you manage email delivery fails via the bounce mail functionality. When an email
cannot be delivered to a recipient, the remote messaging server automatically returns an error message
(bounce mail) to a technical inbox designed for this purpose. Error message are collected by the Neolane
platform and qualified by the inMail process to enrich the list of email management rules available in the
Campaign management>Administration>NP@I management>Sets of email rules folder.
Bounces mails can have the following qualification status:
n

To qualify: the bounce mail could not be qualified. Qualification must be assigned to the Deliverability
team to guarantee efficient platform deliverability. As long as it isn't qualified, the bounce mail isn't used
to enrich the list of email management rules.
Keep: the bounce mail was qualified and will be used by the Update for deliverability workflow to
be compared to existing email management rules and enrich the list.
Ignore: the bounce mail was qualified but will not be used by the Updated for deliverability workflow.
It will not be sent to client instances.

The status of the various bounce mails can be viewed in the Administration>Campaign
management>NP@I management>Delivery logs qualification folder.

Technical monitoring
The technical monitoring report is available via the Supervision universe, in the Deliverability section.

224 | Neolane 2013

Neolane Email Deliverability option


It includes a number of deliverability quality indicators for your platform. These indicators are updated daily
at 9 AM.

Note:
In addition, you are able to receive a daily report by email at a specified address. Please let us know the
requested email address by email or via the Neolane Extranet.

The following indicators are used in the report:


n

n
n

IP and RBL domain (Realtime Blackhole List): List of IP addresses of polluting domains.
These lists are maintained by dedicated organizations (such as SpamHaus, Spamcop...). Neolane currently
processes these lists. These RBLs reflect your reputation and can be queried by the ISPs before accepting
to receive your emails.
SPF (Sender Policy Framework): Mechanism enabling you to check whether the email sender is authorized
on the sending domain.
SNDS(Smart Network Data Services): A Windows Live Hotmail anti-spam service.
(https://postmaster.live.com/snds/FAQ.aspx)
DomainKeys: service developed by Yahoo and intended to certify the identity of an email sender.
Reverse DNS: Neolane checks whether a reverse DNS is given for an IP address and that this correctly
points back to the IP.
SenderScore: Database of reputed servers (https://www.senderscore.org/)

Inbox monitoring
This report is available from the Supervision universe, in the Deliverability section.
It gives an overview of the quality of emails sent over a given period of time. A benchmark comparison is
also made with the other platforms that have subscribed to the deliverability service.

Neolane v6.1 - Neolane Delivery - Neolane Email Deliverability option | 225

Neolane

Inbox rendering
Overview
This report is available in the Inbox Rendering tab of each delivery for which the functionality is enabled.

Note:
The number of rendering reports can be limited or unlimited on a yearly basis according to your license
agreement.

Overall operation
Neolane has implemented a dedicated workflow (Update seed network for Inbox Rendering) to enable
you to recover the target addresses to use for your proof emails to monitor delivery rendering. This workflow
is located in the Administration>Production>Technical workflows node of the Neolane tree.
This workflow creates and updates the addresses used in the seed network. It runs daily at 5 AM. To force
it to run straightway, right click on the scheduler and select Execute pending task(s) now.
The contacts are inserted in a folder named Inbox Rendering recipients and assigned to a group Inbox
Rendering recipients to enable rapid targeting when you use the nmsRecipient table.

Note:
If you have defined specific access rights per operator, they will therefore require at least a read access to
the Recipients for Inbox Rendering folder and to the linked group.

226 | Neolane 2013

Neolane Email Deliverability option


To activate Inbox Rendering, simply add this group in your delivery actions to enable the Neolane capture
process.

The rendering thumbnails can be accessed in the Inbox Rendering tab of the delivery a few minutes after
sending the emails.

Note:
Each sending is counted off against your number of authorized rendering reports (known as 'tokens').
Example of a rendering report:

Neolane v6.1 - Neolane Delivery - Neolane Email Deliverability option | 227

Neolane

Using an external table


The operating mode described above implies using the nms:recipient table. When using a different delivery
mapping, you need to include the addresses used for the rendering capture among the seed addresses linked
to the delivery.

Note:
If you use personalization elements in your emails, the "source" profiles must be specified as a consequence.
To do this, apply the following steps:

1 Identify the recipient schema which is used instead of the nms:recipient schema and make sure it
2
3

contains the appropriate fields for seed addresses. Also check that the matching delivery mapping exists.
Extend the nms:seedMember schema and the linked input form to adapt the seed address definition
mode to this delivery mapping. For more on seed addresses, refer to the Advanced user guide.
Specify the contact table in the DmRendering_SeedTargets option. Options are stored in the
Administration>Platform>Options node of the tree.

For instance, for the xac:internal table, we will have the following format: custom_xac_internal.

228 | Neolane 2013

Neolane Email Deliverability option

4 Once the Update the test network for Inbox Rendering workflow is executed, an additional folder
is created in the Seed addresses node.

5 Within the delivery, add this folder to the seed addresses to activate Inbox Rendering.
To do this, click the Edit the dynamic condition... link of the Seed addresses tab.

Neolane v6.1 - Neolane Delivery - Neolane Email Deliverability option | 229

Neolane
Then select the Folder node of the seed address schema.

And choose the folder created during the previous step.

The Inbox Rendering report will be displayed in the matching tab once the delivery is finished and the
indicators are collected via the dedicated workflows.

SpamAssassin
Neolane v6 can be configured to work with SpamAssassin. This makes it possible to score emails to determine
whether a message runs the risk of being considered as spam by the anti-spam tools used upon receipt.

230 | Neolane 2013

Neolane Email Deliverability option


Before starting a delivery, the Preview tab enables you to evaluate the risks. A warning message give the
result of the test as in the following example:

The Detail... link enables you to view the analysis type, from the Anti-spam checking tab.

If a high level of risk is detected, the following message is displayed:

Neolane v6.1 - Neolane Delivery - Neolane Email Deliverability option | 231

Neolane
The reasons for this risk are given in the Points/Rule/Description section of the Anti-spam checking
tab.

Note:
SpamAssassin must be installed and configured on the Neolane application server. For more on this, refer
to the Installation Guide .

232 | Neolane 2013

APPENDIX D

Content management

Table of Contents
Overview . . . . . . . . . . . . . . . . . . . . . . .
Operating principle . . . . . . . . . . . . . . . . . . .
Advantages . . . . . . . . . . . . . . . . . . . . . .
Constraints . . . . . . . . . . . . . . . . . . . . . .
Implementation . . . . . . . . . . . . . . . . . . . . .
Operation . . . . . . . . . . . . . . . . . . . . . .
Resources . . . . . . . . . . . . . . . . . . . . . .
Quick start: 6 steps for creating and using content management in Neolane
Overview . . . . . . . . . . . . . . . . . . . . . .
Step 1 - Analyzing the content to be produced . . . . . . . . . .
Step 2 - Creating the data schema for content management . . . . .
Step 3 - Creating the input form . . . . . . . . . . . . . . .
Step 4 - Creating the construction template for output documents . . .
Step 5 - Creating the publication template . . . . . . . . . . .
Step 6 - Creating contents . . . . . . . . . . . . . . . . .
Data schemas . . . . . . . . . . . . . . . . . . . . . .
Schema structure . . . . . . . . . . . . . . . . . . . .
Data types . . . . . . . . . . . . . . . . . . . . . .
Properties . . . . . . . . . . . . . . . . . . . . . .
Collection elements . . . . . . . . . . . . . . . . . . .
Element referencing . . . . . . . . . . . . . . . . . . .
Compute string . . . . . . . . . . . . . . . . . . . .
Editing schemas . . . . . . . . . . . . . . . . . . . .
Input forms . . . . . . . . . . . . . . . . . . . . . . .
Form structure . . . . . . . . . . . . . . . . . . . . .
Formatting . . . . . . . . . . . . . . . . . . . . . .
List type controls . . . . . . . . . . . . . . . . . . . .
Containers . . . . . . . . . . . . . . . . . . . . . .
Editing forms . . . . . . . . . . . . . . . . . . . . .
Formatting . . . . . . . . . . . . . . . . . . . . . . .
JavaScript templates . . . . . . . . . . . . . . . . . . .
XSL Stylesheets . . . . . . . . . . . . . . . . . . . .
Image management . . . . . . . . . . . . . . . . . . .
Date display . . . . . . . . . . . . . . . . . . . . .
Publication template . . . . . . . . . . . . . . . . . . . .
Identification of a publication template . . . . . . . . . . . .
Creating and configuring the template . . . . . . . . . . . .
Using a content template . . . . . . . . . . . . . . . . . .
Creating a delivery via content management . . . . . . . . . .
Creating a content instance . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

234
235
235
235
236
236
236
236
236
237
238
240
243
246
246
249
249
250
250
250
251
251
252
252
252
253
253
255
256
256
256
263
266
267
268
268
269
273
274
275

Neolane v6.1 - Neolane Delivery - Content management | 233

Neolane

Delivering a content instance . . . .


Enriching the content with external data .
Generic queries . . . . . . . . .
Linked tables . . . . . . . . .
Automating content creation via workflows
Content activity . . . . . . . . .
Examples . . . . . . . . . . .
Semi-automatic update . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

280
281
281
283
286
286
288
294

Overview
The Neolane Content Manager module is used to create recurrent newsletters (frequent delivery with a
defined graphical charter) or websites (special event mini-sites, marketing campaigns).
It can help you to create, validate, and publish your messages.
Content management incorporates working group, workflow and content aggregation functionality. This
allows a message to be formatted automatically (e-mail, mail, SMS, MMS, fax, call center, web, etc.).

Warning:
The content management module (Neolane Content Manager) is an optional Neolane module. Please check
your license agreement.

234 | Neolane 2013

Content management

Operating principle
Using content manager in a delivery lets you add entry or selection fields for the operators in charge of
content creation. The layout and display of this content as well as any changes made are managed
automatically thanks to the stylesheet.

All changes made to the stylesheet are implemented at delivery level based on the content templates used.

Advantages
Content management provides the following advantages:
n
n
n

n
n

Structured message editing via input interfaces,


Separation of data content and how it is presented (generated in XML format),
Generating documents in multiple formats (html, txt, XML, etc.) based on stylesheets to guarantee
compliance with graphical charters,
Recovery and automatic aggregation of external content flows,
Collaboration with workflow for data validation and checking.

Constraints
This mode of content creation does however involve a few constraints; including in particular:
n
n

Restricted freedom concerning the final document design,


The analysis of requirements must be rigorous so that end users will not be inconvenienced by a missing
function.

Neolane v6.1 - Neolane Delivery - Content management | 235

Neolane

Implementation
Operation
You need to define a publication template, which contains transformation templates for each content.
A content block is structured in an XML document for data storage. An edit interface is used to input the
content from the Neolane client console or via a web browser. The content can also be entered automatically
via the capture of XML flow or data aggregated in a database.
Combining the XML document and the XSL or JavaScript Template stylesheets automatically generates the
projection of the publication template in the various formats (HTML, text).

Resources
The following resources are required for content configuration:
n
n
n
n

n
n

Data schemas: description of the XML content structure. For more on this, refer to Data schemas [page 249].
Data entry forms: construction of data entry screens. For more on this, refer to Input forms [page 252].
Images: images used in data entry forms. For more on this, refer to Image management [page 266].
Stylesheets: formatting of output documents using XSLT language. For more on this, refer to Formatting
[page 256].
JavaScript templates: formatting of output documents using JavaScript language. For more on this, refer
to Publication template [page 268].
JavaScript codes: JavaScript codes for data aggregation. For more on this, refer to Aggregator [page 271].
Publication templates: definition of publication templates. For more on this, refer to Publication template
[page 268].
Content: content instances to be created and published. For more on this, refer to Using a content
template [page 273].

Quick start: 6 steps for creating and using content management


in Neolane
Overview
To create content management in Neolane, the following steps are necessary:
n
n
n
n
n
n

Step
Step
Step
Step
Step
Step

236 | Neolane 2013

1
2
3
4
5
6

Analyzing the content to be produced [page 237],


Creating the data schema for content management [page 238],
Creating the input form [page 240],
Creating the construction template for output documents [page 243],
Creating the publication template [page 246],
Creating contents [page 246].

Content management

Step 1 - Analyzing the content to be produced


Before you start, you need to carry out a precise analysis of the content to be produced: identify the elements
to display, study the constraints linked to them, define a type for each element, etc. You also need to
differentiate static elements and variable ones.
For instance, to create a newsletter in HTML with the following type of content:

This newsletter contains three types of elements:

1 Variable elements, whose content is entered or selected by the user via an input form during delivery
creation.

Neolane v6.1 - Neolane Delivery - Content management | 237

Neolane

2 Personalization fields which are entered dynamically based on the information saved in the database (the
recipient's first and last name in this case),

3 Static elements, which are the same for all newsletters:

The various elements of this newsletter are put together based on the rules defined in a JavaScript template
which references all the elements to be inserted and conceptualizes their layout.
These elements are created via a dedicated schema which specifies the following elements for each content:
name, label, type, size, as well as any other information relevant to its processing in Neolane.

Step 2 - Creating the data schema for content management


A data schema is an XML document associated with content. It describes the XML structure of the data in
this content.

Note:
For more on creating and configuring data schemas in Neolane, please refer to the "Editing and extending
schemas" section of the Configuration guide.
Configuration elements specific to content management are detailed in Data schemas [page 249].
To create a data schema, apply the following steps:

1 Open the Neolane Explorer and select the Administration>Configuration>Data schemas node.
Click the New icon located above the list of data schemas.

238 | Neolane 2013

Content management

2 Select the Create a schema option for content management, then click Next.

3 Enter the name and label of the schema in the appropriate fields. You can add a description and link a
specific image if necessary.

Click Next to validate.


Enter the content of the schema in the Edit schema window.

Neolane v6.1 - Neolane Delivery - Content management | 239

Neolane
Use the Insert button to create the schema content.

For more on this, refer to Editing schemas [page 252].


For each element referenced in the content, you need to select a matching type.
In this example the identified contents, their format and their type are:

Content

Format

Type

Label

Title

Attribute

String

Title

Sub-title

Attribute

String

Name

Event date

Attribute

Date

Date

Introduction paragraph

Element

HTML

Overview

Photo of the author

Attribute

String

URL

Author

Element

Memo

Author

Header logo (stored in Neolane public resources)

Attribute

Link

Image

The schema will contain the following information:


<element label="Invitation" name="invitation" template="ncm:content" xmlChildren="true">
<compute-string expr="@name"/>
<attribute label="Title" length="40" name="title" type="string"/>
<element label="Presentation" name="presentation" type="html"/>
<attribute label="Date" name="date" type="date"/>
<attribute label="Name" length="10" name="name" type="string"/>
<attribute label="URL" name="url" type="string"/>
<element label="Author" name="author" type="memo"/>
<element label="Image" name="image" target="xtk:fileRes" type="link"/>
</element>

5 Click Save to create the data schema.

Step 3 - Creating the input form


The input form lets you edit a content instance via an input interface from the Neolane client console.
The description of a form is a structured XML document that observes the grammar of the "xtk:form" form
schema.

240 | Neolane 2013

Content management

Note:
For more on creating and configuring forms in Neolane, refer to the "Input forms" section of the Configuration
guide.
Configuration elements specific to content management are detailed in Input forms [page 252].
To create an input form for content management, apply the following steps:

1 Open the Neolane Explorer and select the Administration>Configuration>Input forms node.
2

Click the New icon above the list of forms.


Enter the name of the form and the label linked to the form, then select the Content management
type.

Neolane v6.1 - Neolane Delivery - Content management | 241

Neolane

Note:
To enable both elements to match up automatically, we recommend using the same name as for the
linked data schema. Use the Insert button above the input zone to add fields from the schema linked
to the form.

3 In the middle section of the editor, specify the fields you want to display in the input form.
In this example, we will have the following type of information:
<input xpath="@title"/>
<input xpath="@date"/>
<input xpath="presentation"/>
<input xpath="@name"/>
<input xpath="@url"/>
<input xpath="author"/>
<input img="nl:sryimage.png" newEntityFormChoice="true" xpath="image">
<sysFilter>
<condition expr="@isImage = true"/>
</sysFilter>
</input>

242 | Neolane 2013

Content management
The Preview tab lets you check the rendering of the form while you are editing it:

4 Click Save to create the input form.

Step 4 - Creating the construction template for output documents


The XSLT language lets you transform an XML document into another output document. This transformation
is described in XML in a document called a stylesheet.
In this example, we want to use a JavaScript template to define the data construction and layout mode in
the generated document.

Note:
Constraints linked to document building (JavaScript or XSL template) are detailed in Formatting [page 256],
To use a JavaScript template in Neolane, apply the following steps:

1 Open the Neolane Explorer and select the Administration>Configuration>JavaScript Templates


node.
Click the New icon above the list of templates.
Enter a template name and select the schema which you have created for content management.

2
3 Import the set content which you want to display in the message.

Add the variable elements while respecting the syntax detailed in JavaScript templates [page 256].
To display the content shown in our example, the JavaScript template must contain the following elements:
<html>
<% eval(xtk.javascript.load("xac:perso").data); %>
<head>
<title>Invitation to a Neolane internal training session</title>
</head>
<body link="#0E59AE" vlink="#0E59AE" alink="#0E59AE" style="background-color:white;">
<table width="546" border="0" align="center" cellpadding="0" cellspacing="0"
style="border-left: solid 1px gray;border-top: solid 1px gray;border-right: solid 1px
gray;">
<tr>
<td colspan="3">
<%= generateImgTag(content.@["image-id"]) %>
</td>
</tr>
</table>
<table width="546" border="0" align="center" cellpadding="0" cellspacing="0"
style="border-left: solid 1px gray;border-right: solid 1px gray;">
<tr>

Neolane v6.1 - Neolane Delivery - Content management | 243

Neolane
<td>
<table border="0" cellspacing="0" cellpadding="5">
<tr>
<td width="10">&nbsp;</td>
<td style="padding-top:2em; padding-bottom:2em;" width="730"
align="middle">
<b>
<font style="font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:14px; color:#800080;">
<span style="FONT-VARIANT: small-caps"><%= content.@title %> - <%=
content.@nom %></span>
</font>
</b>
</td>
<td width="10">&nbsp;</td>
</tr>
<tr>
<td width="10">&nbsp;</td>
<td style="padding-top:1em; padding-bottom:1em;" width="730">
<font style="font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:11px; color:#666666;">
Hello <%= perso('recipient.@firstName') %> <%=
perso('recipient.@lastName') %>,
<p>
<%= content.presentation %>
</p>
<center>
On <b><%= formatDate(content.@date, "%2D %Bl %4Y") %></b> come to
our Book Fair and meet our favorite authors and illustrators.<br>
<br>
<a href="http://www.neolane.com" target="_blank"><b>REGISTER</b></a>
</center>
</font>
</td>
<td width="10">&nbsp;</td>
</tr>
<tr>
<td width="10">&nbsp;</td>
<td style="padding-top:1em; padding-bottom:1em;" width="730">
<font style="font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:11px; color:#666666;">
<img style="float:left;margin-right:10px" border="0" src="<%=
content.@url %>" width="70" height="70">
<b><%= content.auteur %></b>, will be signing their book between 2
and 5:30PM.
</font>
</td>
<td width="10">&nbsp;</td>
</tr>
<tr>
<td width="10">&nbsp;</td>
<td width="730">
<font style="font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:11px; color:#666666;">
</td>
<td width="10">&nbsp;</td>
</tr>
<tr>
<td width="10">&nbsp;</td>
<td>
<font style="font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:11px; color:#666666;">
<center>
<p>
<a href="http://" target="_blank"><span style="FONT-VARIANT:
small-caps"><b>Program</b></span></a>
&nbsp;|&nbsp;
<a href="http://" target="_blank"><span style="FONT-VARIANT:
small-caps"><b>Useful information</b></span></a>
&nbsp;|&nbsp;
<a href="http://" target="_blank"><span style="FONT-VARIANT:

244 | Neolane 2013

Content management
small-caps"><b>Register</b></span></a></p>
</center>
</font>
</td>
<td width="10">&nbsp;</td>
</tr>
</table>
<br>
</td>
</tr>
</table>
</body>
</html>

Note:
Calling up a function at the start of a template lets you set up a call to personalization data taken from
the Adobe Campaign database (in this case: recipient.@firstName and recipient.@lastName), so that it
can be interpreted when used in a delivery. For more on this, refer to Including a JavaScript template
[page 258].
In this example, the function will contain the following code:
function perso(strPerso)
{
var strStart = '<' + '%' +
var strEnd = '%' + '>';
return strStart + strPerso
}
function bloc(strPerso)
{
var strStart = '<' + '%' +
var strEnd = '" %' + '>';
return strStart + strPerso
}

'=';
+ strEnd;

'@ include view="';


+ strEnd;

In order for the JavaScript template to be valid, this function must be created beforehand from the
JavaScript codes node in the tree structure, as below:

Neolane v6.1 - Neolane Delivery - Content management | 245

Neolane

Step 5 - Creating the publication template


The last step involves creating a content publication template to link up the schema, the form, and the
content construction template. This publication template can have several output formats.

Note:
For more on content publication templates, refer to Publication template [page 268].
In this example, the steps are as follows:

1 Create a new publication template via the Administration>Configuration>Publication templates


node.
Enter a name and a label, and select the schema and form to be used.

2
3 Then enter the name of the template and choose the rendering mode you want to apply. Here, we have
a JavaScript type rendering based on the template created above.

Use the Add button to create other transformation templates.


Click Save to create the publication template.

Step 6 - Creating contents


You may now create content based on this publication template.

Note:
For more on creating contents, refer to Using a content template [page 273].

Creating a content in the delivery wizard


To create content using content management directly in the deliveries, apply the following steps:

246 | Neolane 2013

Content management

1 Start by referencing the publication template via the Advanced tab of the delivery properties.

An additional tab is added to the delivery wizard in order to define the content via the content management
form.

Neolane v6.1 - Neolane Delivery - Content management | 247

Neolane

2 Enter the variable information of your newsletter.

248 | Neolane 2013

Content management

3 Click the HTML preview tab to view the rendering. You need to select a recipient to test personalization.

Data schemas
Below are some general principles concerning the use of data schemas in Neolane.
For more on creating and configuring data schemas in Neolane, refer to the Configuration guide.

Schema structure
The XML document of a data schema must contain the <srcSchema> root element with the name and
namespace attributes to populate the schema name and its namespace.
<srcSchema name="schema_name" namespace="namespace">
...
</srcSchema>

The point of entry of the schema is its main element. It is easy to identify because it has the same name as
the schema, and it should be the child of the root element. The description of the content begins with this
element.
In a content management schema, the main element is represented by the following line:
<element name="book" template="ncm:content" xmlChildren="true">

Neolane v6.1 - Neolane Delivery - Content management | 249

Neolane
The template attribute entered in the main element lets you extend the schema with generic properties to
all content definitions such as name, creation date, author, associated string, etc.
These properties are described in the ncm:content schema.

Note:
The presence of the xmlChildren attribute indicates that the data structure entered via the main element
is stored in an XML document of the content instance.

Data types
Here is an example of a content management schema with the types filled in:
<srcSchema name="book" namespace="cus">
<element name="book" template="ncm:content" xmlChildren="true">
<attribute name="title" type="string"/>
<attribute name="date" type="date"/>
<attribute name="language" type="string"/>
<element name="chapter">
<attribute name="name" type="string"/>
<element name="page" type="string>
<attribute name="pnumber" type="short"/>
</element>
</element>
</element>
</element>

Properties
Various properties can be used to enrich the <element> and <attribute> elements of the data schema.
The main properties used in content management are as follows:
n
n
n
n
n

label: short description,


desc: long description,
default: expression returning a default value on content creation,
userEnum: free enumeration to store and display the values entered via this field.
enum: fixed enumeration used when the list of possible values is known in advance.

Here is our example schema with the properties filled in:


<srcSchema name="book" namespace="cus">
;<enumeration name="language" basetype="string" default="fra">
<value name="fra" label="French"/>
<value name="eng" label="English"/>
</enumeration>
<element name="book" label="Book" desc="Example book" template="ncm:content"
xmlChildren="true">
<attribute name="title" type="string" label="Title" default="'New book'"/>
<attribute name="date" type="date" default="GetDate()"/>
<attribute name="language" type="string" label="Language" enum="language"/>
<element name="chapter" label="Chapter">
<attribute name="name" type="string" label="Name" desc="Name of chapter"/>
<element name="page" type="string" label="Page" desc="Content of page">
<attribute name="number" type="short" label="Number"
default="CounterValue('numPage')"/>
</element>
</element>
</element>
</srcSchema>

Collection elements
A collection is a list of elements with the same name and the same hierarchical level.
In our example, the <chapter> and <page> elements are collection elements. The unbound attribute
must therefore be added to the definition of these elements:

250 | Neolane 2013

Content management
<element name="chapter" label="Chapter" unbound="true" ordered="true">
<element name="page" type="string" label="Page" desc="Content of page" unbound="true">

Note:
The presence of the ordered="true" attribute lets you order the collection elements inserted.

Element referencing
Element referencing is used a great deal in content schemas. It enables you to factorize the definition of an
<element> element so that it can be referenced on other elements with the same structure.
The ref attribute on the element to be referenced must be completed with the path (XPath) of the reference
element.
Example: adding of an Appendix section with the same structure as the <chapter> element of our
example schema.
<srcSchema name="book" namespace="cus">
<element name="section">
<attribute name="name" type="string" label="Name" desc="Name"/>
<element name="page" type="string" label="Page" desc="Content of page">
<attribute name="number" type="short" label="Number"
default="CounterValue('numPage')"/>
</element>
<element name="book" label="Book" desc="Example book" template="ncm:content"
xmlChildren="true">
<attribute name="title" type="string" label="Title" default="'New book'"/>
<attribute name="date" type="date" default="GetDate()"/>
<attribute name="language" type="string" label="Language" enum="language"/>
<element name="chapter" label="Chapter" ref="section"/>
<element name="appendix" label="Appendix" ref="section"/>
</element>
</srcSchema>

The chapter structure is moved to the element with the name "section" outside the main element. The chapter
and section reference the "section" element.

Compute string
A Compute string is an XPath expression used to construct a string representing a content instance.
Here is our example schema with its Compute string:
<srcSchema name="book" namespace="cus">
<element name="book" label="Book" desc="Example book" template="ncm:content"
xmlChildren="true">
<compute-string expr="@name"/>
...
</element>
</srcSchema>

Neolane v6.1 - Neolane Delivery - Content management | 251

Neolane

Editing schemas
The edit field lets you input the XML content of the source schema:

When the source schema is saved, extended schema generation is launched automatically.

Note:
The Name edit control lets you enter the key of the schema, consisting of the name and namespace. The
name and namespace attributes of the schema root element are automatically updated in the XML edit
field of the schema.

Input forms
Below are some general principles concerning the use of input forms in Neolane.
Forms are detailed in the Configuration guide.

Form structure
The XML document of an input form must contain the <form> root element with the name and namespace
attributes to populate the form name and its namespace, respectively.
<form name="form_name" namespace="name_space">
...
</form>

By default, a form is associated with the data schema that has the same name and namespace. To associate
a form with a different name, enter the schema key in the entity-schema attribute of the <form> element.
To illustrate the structure of an input form, we describe an interface based on our example schema "cus:book":

This is the corresponding input form:

252 | Neolane 2013

Content management
<form name="book" namespace="cus" type="contentForm">
<input xpath="@name"/>
<input xpath="@date"/>
<input xpath="@language"/>
</form>

The description of the edit elements begins with the <form> root element.
An edit control is entered in an <input> element with the xpath attribute containing the path of the field
in its schema.

Note:
Reminder concerning XPath syntax:
The XPath language is used in Neolane to reference an element or attribute belonging to a data schema.
XPath is a syntax that lets you locate a node in the tree of an XML document.
Elements are designated by their name, and attributes are designated by the name preceded by the character
"@".
Examples:
@date: selects the attribute with the name "date"
chapter/@title: selects the "title" attribute under the <chapter element
../@date: selects the date from the parent element of the current element

n
n
n

The edit control automatically adapts to the corresponding data type and uses the label defined in the schema.
By default, each field is displayed on one line and occupies all of the available space, depending on the type
of data.

Important:
The input form must reference a type="contentForm" attribute on the <form> element to automatically
add the frame required for content to be input.

Formatting
The arrangement of the controls relative to each other looks like the arrangement used in HTML tables, with
the possibility of dividing a control into several columns, of interlacing elements, or of specifying the occupation
of available space. Bear in mind, however, that formatting authorizes the distribution of proportions only;
you cannot specify fixed dimensions for an object.
For more on this, refer to the "Layout" section of the Configuration guide.

List type controls


To edit a collection element, you must use a list type control.

Column list
This control displays an editable column list with a toolbar containing Add and Delete buttons.

<input xpath="chapter" type="list">


<input xpath="@name"/>
<input xpath="@number"/>
</input>

Neolane v6.1 - Neolane Delivery - Content management | 253

Neolane
The list control must be filled in with the type="list" attribute, and the path of the list must refer to the
collection element.
The columns are declared by the child <input> elements of the list.

Note:
The up and down ordering arrows are added automatically when the ordered="true" attribute is completed
for the collection element in the data schema.
By default, the toolbar buttons are aligned vertically. They can also be aligned horizontally:

<input nolabel="true" toolbarCaption="List of books" type="list" xpath="chapter">


<input xpath="@name"/>
<input xpath="@number"/>
</input>

The toolbarCaption attribute forces horizontal alignment of the toolbar and fills in the title above the list.

Note:
For the collection element label not to be displayed to the left of the control, add the nolabel="true"
attribute.
Zoom in a list
The insertion and editing of list data can be performed in a separate edit form.
Edit forms within lists are used in the following cases:
n
n
n

For ease of information input,


Presence of a multiple-line control,
The columns in the list contain only the main fields and the form displays all the fields of the collection
element.

<input nolabel="true" toolbarCaption="List of books" type="list" xpath="chapter" zoom="true"


zoomOnAdd="true">
<input xpath="@name"/>
<input xpath="@number"/>
<form colcount="2" label="Editing a chapter">
<input xpath="@name"/>
<input xpath="@number"/>

254 | Neolane 2013

Content management
<input colspan="2" xpath="page"/>
</form>
</input>

The definition of the edit form is specified via the <form> element under the list element. Its structure is
identical to the structure of an input form.
A Detail button is automatically added when the zoom="true" attribute is entered in the list definition.
This lets you open the edit form on the selected line.

Note:
Adding the zoomOnAdd="true" attribute forces the edit form to be called on insertion of an element of
the list.

Tab list
This list presents the editing of collection elements in the form of tabs.

<container toolbarCaption="List of chapters" type="notebooklist" xpath="chapter"


xpath-label="@name">
<container colcount="2">
<input xpath="@name"/>
<input xpath="@number"/>
<input colspan="2" xpath="page"/>
</container>
</container>

The list control must be filled in with the type="notebooklist" attribute, and the path of the list must refer
to the collection element.
The title of the tab contains the value of the data entered via the xpath-label attribute.
The edit controls must be declared under a <container> element that is a child of the list control.
Use the toolbar buttons to add or delete list elements.

Note:
The left and right ordering arrows are added automatically when the ordered="true" attribute is populated
for the collection element in the data schema.

Containers
Containers let you group a set of controls. They exist via the <container> element. They have already
been used to format controls in several columns and for the control of the tab list.
For more on containers and how to use them in input forms, refer to the "containers" section of the
Configuration guide.

Neolane v6.1 - Neolane Delivery - Content management | 255

Neolane

Editing forms
The editing zone lets you enter the XML content of the input form:

The Preview tab lets you view the input form:

Formatting
JavaScript templates
A JavaScript template is an HTML or text document that includes JavaScript code. It is constructed in the
same way as an e-mail content in a delivery action.

Identification of a JavaScript template


A JavaScript template is identified by its name and namespace just like schemas and forms. It is, however,
recommended to add the .js option to the template name.

256 | Neolane 2013

Content management

Structure of a JavaScript template


Example of a JavaScript HTML formatting template based on the "cus:book" schema:
<html>
<body>
<!-- Title of book -->
<h1><%= content.@name %></h1>
<ul>
<% for each(var chapter in content.chapter) { %>
<li><%= chapter.@name %></li>
<% }%>
</ul>
</body>
</html>

The various JavaScript directives appear in the following form:


n

Merge fields: displays the content of the data with the <%= <source> %> syntax where <source is the
source field of the data to be displayed.
Instruction blocks: executes a series of JavaScript instructions included between the <% and %> tags.

The content object represents the main element of the input XML document.
In our example, the following line displays the content of the name book name:
<h1><%= content.@name %></h1>

The following code iterates on the <chapter> collection element:


<% for each(var chapter in content.chapter) { %>
<li><%= chapter.@name %></li>
<% }%>

The attributes and elements of the content are represented as JavaScript objects and respect the structure
of the source document.
Example:
n
n
n
n
n
n

content.@name: retrieves the value of the "name" attribute of the main element
content.@['name']: identical to the content.@name syntax
content.chapter.length: returns the number of elements on the <chapter collection element
content.chapter[0].@name: retrieves the name of the first <chapter element
chapter.name(): returns the name of the <chapter element
chapter.parent().name(): returns the name of the parent element of <chapter

Warning:
Because the '-' character is reserved in the JavaScript language, the recovery of the value of any attribute
or element containing this character must be carried out via the ['<field>'] syntax. For example:
content.@['offer-id'].
All the power of a programming language (variables, loops, conditional tests, functions, etc. ) is available to
construct the output document. SOAP APIs are accessible to enrich the output document.
Examples:
n

Conditional test:
<% if (content.@number == 1 || content.@language == 'en) { %>
<!-- Content to be displayed if test is true-->
<% } %>

Function call:
<!-- Displays a horizontal bar -->
;<% function DisplayHorizontalBar() { %>
<hr/>
<% } %>
<!-- The same function in a block
<%

-->

Neolane v6.1 - Neolane Delivery - Content management | 257

Neolane
function DisplayHorizontalBar2()
{
document.write('<hr/>');
}
%>
<!-- Returns the value in uppercase -->
<%
function formatName(value)
{
return value.toUpperCase();
}
%>
<!-- Call functions -->
<%= DisplayHorizontalBar1() %>
<%= DisplayHorizontalBar2() %>
<%= formatName(content.@name) %>
n

Declarations and variable call:


<%

var counter = 0; %>

<%= counter += 10 %>


n

Retrieval and display of a recipient name with static methods:


<% var recipient = nms.recipient.get(1246); %>
<%= recipient.lastName %>

Recovery and display of a recipient name with non-static methods:


<% var query = xtk.queryDef.create(
<queryDef schema="nms:recipient" operation="get">
<select>
<node expr="@lastName"/>
</select>
<where>
<condition expr="@id=1246"/>
</where>
</queryDef>);
var recipient = query.ExecuteQuery();
%>
<%= recipient.@lastName %>

Including a JavaScript template


You can constitute a library of functions or variables for later use. To do this, import the JavaScript template
with the eval function. This lets you enrich contexts with additional functions declared in other JavaScript
templates.
Example: importing the common.jsp template.
<% eval(xtk.javascript.get("cus:common.js").data);

258 | Neolane 2013

%>

Content management

Editing a JavaScript template


The edit zone lets you populate the content of the JavaScript template:

Note:
The associated data model schema must be populated for the initialization of JavaScript objects.
To generate the preview of the output document at any time, select a content and an output format (HTML,
Text, XML), then click Generate:

Note:
It is not necessary to save the changes in order to preview the output document.

Neolane v6.1 - Neolane Delivery - Content management | 259

Neolane

Example of how to create and use a JavaScript template


Below you will find the configuration required for implementing the following content management using a
JavaScript template:

This example involves the following steps:

1 Create the following schema (in this case: neo:news):


<srcSchema _cs="Invitation (neo)"
entitySchema="xtk:srcSchema" img="xtk:schema.png"
label="Invitation" mappingType="sql" name="news" namespace="neo"
xtkschema="xtk:srcSchema">
<enumeration basetype="string" default="fr" name="langue">
<value label="Franais" name="fr" value="fr"/>
<value label="Anglais" name="gb" value="gb"/>
</enumeration>
<enumeration basetype="byte" name="css">
<value label="Bleu" name="bl" value="blue"/>
<value label="Orange" name="gr" value="orange"/>
</enumeration>
<element label="Intervenants" name="attendee">
<key internal="true" name="id">
<keyfield xpath="@id"/>
</key>
<attribute label="Nom" name="nom" type="string"/>
<element label="Image" name="image" target="xtk:fileRes" type="link"/>
<attribute label="Description" name="description" type="string"/>
<attribute default="Gid()" label="Id" name="id" type="long"/>

260 | Neolane 2013

Content management
</element>
<element label="Invitation" name="news" template="ncm:content" xmlChildren="true">
<compute-string expr="@name"/>
<attribute enum="language" label="Language" name="language" type="string"/>
<attribute enum="css" label="Stylesheet" name="css" type="string"/>
<attribute label="Title" name="title" type="string"/>
<element label="Presentation" name="presentation" type="html"/>
<attribute label="Date" name="date" type="date"/>
<element label="Attendees list" name="attendeesList" ordered="true" ref="attendee"
unbound="true"/>
</element>
</srcSchema>

2 Create the linked Content management type form (neo:news)


<form _cs="News (neo)" entitySchema="xtk:form" img="xtk:form.png" label="News"
name="news" namespace="neo" type="contentForm" xtkschema="xtk:form">
<container type="iconbox">
<container label="Invitation">
<input xpath="@langue"/>
<input xpath="@css"/>
<input xpath="@title"/>
<input xpath="@date"/>
<input xpath="presentation"/>
</container>
<container label="Participants">
<container toolbarCaption="List of participants" type="notebooklist"
xpath="attendeesList" xpath-label="@nom">
<container>
<input xpath="@nom"/>
<input img="nl:sryimage.png" newEntityFormChoice="true" xpath="image">
<sysFilter>
<condition expr="@isImage = true"/>
</sysFilter>
</input>
<input xpath="@description"/>
</container>
</container>
</container>
</container>
</form>

3 Create the JavaScript templates with message contents for HTML and Text formats.
n

In our example, for HTML:


<html>
<head>
<title>Newsletter</title>
<style type="text/css">
.body {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;
color:#514c48; margin-left: auto; margin-right: auto;}
.body table {width:748; border: solid 1px; cellpadding:0; cellspacing:0"}
</style>
</head>
<body>
<p><center><%= mirrorPage %></center></p>
<center>
<table>
<tr>
<td>
<img src="[LOGO]"/>
</td>
<td>
<h1><%= content.@title %></h1>
</td>
</tr>

Neolane v6.1 - Neolane Delivery - Content management | 261

Neolane
<tr>
<td>
<div >
<h0><%= hello,</h0>
<p><%= content.presentation %></p>

<h0>Useful information</h0>
<p>
<img src="[IMAGE 1]"/>When? <br/>Le <%= formatDate(content.@date, "%2D
%Bl %4Y") %> From 10 AM in your bookshop.</p><br/>
<p>
<img src="[IMAGE 2]"/>Who? <br>Meet our favorite authors and illustrators
and get a signed copy of their book.</p><br/>
<p>
<img src="[IMAGE 3]"/>Attendance is free but there is a limited number
of seats: sign up now!</p>
</div>
</td>
<td>
<div style="text-align:left; width:210; height:400px; background:url([IMAGE
DE FOND])">
<h0><%= participant %></h0>
<%
var i
var iLength = content.attendeesList.length()
for (i=0; i<iLength; i++)
{ %>
<p>
<%= generateImgTag(content.attendeesList[i].@["image-id"]) %>
content.attendeesList[i].@description %>
</p>
<% }
%>
</div2>
</td>
</tr>
</table>
</center>
</body>
</html>
n

<%=

For the text:


<%= content.@title %>
<%= content.presentation %>
*** When? On <%= formatDate(content.@date, "%2D %Bl %4Y") %> From 10 AM in your
bookshop.
*** Who? Come and meet our favorite authors and illustrators and get a signed copy
of their books.
*** Attendance is free but there is a limited number of seats: sign up now!

Guests:
******************
<%
var i
var iLength = content.attendeesList.length()
//for (i=(iLength-1); i>-1; i--)
for( i=0; i<iLength; i++ )
{ %>
Description <%= i %>: <%= content.attendeesList[i].@description %>
<% }
%>

262 | Neolane 2013

Content management

4 Now create the publication template used for both formats:


n

For HTML:

For Text:

5 You may then use this content template in your deliveries.


For more on this, refer to Using a content template [page 273].

XSL Stylesheets
XSLT language lets you change an XML document into an output document. Depending on the output method
of the stylesheet, the resulting document can be generated in HTML, plain text or another XML tree.
This transformation is in turn detailed in XML in a document known as the stylesheet.

Neolane v6.1 - Neolane Delivery - Content management | 263

Neolane

Identifying a stylesheet
A stylesheet is identified by its name and namespace, just like schemas and forms. It is, however,
recommended that you add the .xsl extension to the name of the stylesheet.
The identification key of a stylesheet is a string formed by the namespace and the name separated by a
colon; for example: cus:book.xsl.

Structure of a stylesheet
Example of an HTML formatting stylesheet based on the example schema "cus:book":
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output encoding="ISO-8859-1" method="html"/>
<!-- Point of entry of the stylesheet -->
<xsl:template match="/book">
<html>
<body>
<!-- Book title -->
<h1><xsl:value-of select="@name"/></h1>
<lu>
<!-- List of chapters -->
<xsl:for-each select="child::chapter">
<li><xsl:value-of select="@nom"/></li>
</xsl:for-each>
</lu>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

A stylesheet is an XML document that obeys the following rules:


n
n
n
n

the values of attributes are between quotation marks,


an element must have an opening marker and a closing marker,
replace the '<' or '&' characters with the '&lt;' or '&amp;' entities,
each XSL element must use the xsl namespace.

A stylesheet must start with the XSL root element marker <xsl:stylesheet> and end with the
</xsl:stylesheet marker. The XSL namespace must be defined in the opening marker as follows:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

The <xsl:output> element specifies the format of the document generated. Specify the desired set of
characters and the output format.
<xsl:output encoding="ISO-8859-1" method="html"/>

The following instructions describe the configuration of the stylesheet for the formatting of the output
document.
<xsl:template match="/livre">
<html>
<body>
<!-- Book title -->
<h1><xsl:value-of select="@name"/></h1>
<lu>
<!-- List of chapters -->
<xsl:for-each select="child::chapitre">
<li><xsl:value-of select="@nom"/></li>
</xsl:for-each>
</lu>
</body>
</html>
</xsl:template>

By default, the XSLT processor seeks the template that applies to the root or main node of the input XML
document. The construction of the output document begins with this template.
In our example, an HTML page is generated from the "cus:book" schema by displaying the name of the book
and the list of chapters.

264 | Neolane 2013

Content management

Note:
For more information on the XSLT language, refer to an XSLT reference document.

Displaying HTML/XML
To display an html field, use the disable-output-escaping="yes" option from the <xsl:value-of>
directive. This lets you avoid replacing characters with their XML entity (for example < with &lt;).
The <xsl:text> directive with the disable-output-escaping="yes" option lets you insert JavaScript
tags for personalization fields or conditional tests.
Examples:
n

Displaying the content of an "html"-type field:


<xsl:value-of select="summary" disable-output-escaping="yes"/>

Inserting the personalization field <%= recipient.email %>:


<xsl:text disable-output-escaping="yes">&lt;%= recipient.email %></xsl:text>

Adding the conditional test <% if (recipient.language == 'en') { %>:


<xsl:text disable-output-escaping="yes">&lt;% if (recipient.language == 'fr') {
%></xsl:text>

Including stylesheets
It is possible to build up a library of templates or variables to be shared among several stylesheets. The
"longMonth" template, presented above, is a typical example of the advantage of locating a template
remotely in a stylesheet so that it can be reused later.
The <xsl:include> directive indicates the name of the stylesheet to be included in the document.
Example: including the "common.xsl" style sheet.
<? xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:include href="common.xsl"/>
<xsl:output encoding="ISO-8859-1" method="jsp" indent="yes"/>
...
</xsl:stylesheet>

Note:
The name of the namespace must not be entered in the reference of the stylesheet to include. As a standard,
this stylesheet is created with the user namespace.

Neolane v6.1 - Neolane Delivery - Content management | 265

Neolane

Editing a stylesheet
The edit zone lets you populate the content of the stylesheet:

To generate a preview of the output document at any time, select a content instance and the format (HTML,
Text, XML), and then click Generate:

Note:
There is no need to save changes in the stylesheet to view the output document preview.

Image management
Image referencing
The images entered in the HTML output document can be referenced with absolute or relative references.

266 | Neolane 2013

Content management
Relative referencing lets you enter the URL of the server containing the images in the NcmRessourcesDir
and NcmRessourcesDirPreview options. These options contain the location of images for publication and
preview in the Neolane client console.
These two options are accessible via the option management screen in the Administration>Options folder.
Example:
n
n

NcmResourcesDir = "http://server/images/"
NcmResourcesDirPreview = "x:/images/"

During stylesheet processing, the _resPath attribute on the main element of the input XML document is
automatically filled in with one or other of the options depending on context (preview or publication).
Example of how to use the image placement option and its use with an image:
<img src="<%= content.@_resPath %>/newsletter/image.png"/>

Note:
We recommend declaring a variable containing the reference of the server where the images are stored
("resPath" in our example).

Using public resources


You can also use Neolane Public resources to declare images and upload them onto the server depending
on the instance settings entered in the deployment wizard.
You can then call up these images in contents. to do this, use the following syntax in the content management
schema:
<element label="Image" name="image" target="xtk:fileRes" type="link"/>

In the form, the field for selecting the image will be added via the following syntax:
<input img="nl:sryimage.png" newEntityFormChoice="true" xpath="image">
<sysFilter>
<condition expr="@isImage = true"/>
</sysFilter>
</input>

Note:
For more on Public resources and how to configure and use them, refer to the Installation guide.

Date display
In the XML input document, the dates are stored in internal XML format: YYYY/MM/DD HH:MM:SS (example
2011/10/01 12:23:30).
Neolane provides date formatting functions for the JavaScript templates and XSL stylesheets detailed below.

JavaScript date formatting


To display a date in the desired format, Neolane provides the formatDate function that takes as input the
content of the date and a string specifying the output format with the following syntax: %4Y/%2M/%2D
%2H%2N%2S
Examples:
n

Display the date in the 31/10/2013 format:


<%= formatDate(content.@date, "%2D/%2M/%4Y") %>

Display the date in the July 2013 format:


<%
function displayDate(date)
{
var aMonth =
[ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August',
'September', 'October', 'November', 'December' ];

Neolane v6.1 - Neolane Delivery - Content management | 267

Neolane
var month = formatDate(content.@date, "%2M")
var year = formatDate(content.@date, "%4Y")
return aMonth[month-1]+" "+year;
}
%>
<%= displayDate(content.@date) %>

XSL date formatting


There is no standard date management function in XSLT syntax. To display a date in the desired format,
Neolane provides the external function date-format. This function takes as its input the content of the
date and a string specifying the output format with the following syntax: %4Y/%2M/%2D %2H%2N%2S
Examples:
n

To display the date in the 01/10/2013 format:


<xsl:value-of select="external:date-format(@date, '%2D/%2M/%4Y')"/>

To display the date in the July 2013 format:


<!-- Returns the month in the form of a string with the month number as input -->
<xsl:template name="longMonth">
<xsl:param name="monthNumber"/>
<xsl:choose>
<xsl:when test="$monthNumber
<xsl:when test="$monthNumber
<xsl:when test="$monthNumber
<xsl:when test="$monthNumber
<xsl:when test="$monthNumber
<xsl:when test="$monthNumber
<xsl:when test="$monthNumber
<xsl:when test="$monthNumber
<xsl:when test="$monthNumber
<xsl:when test="$monthNumber
<xsl:when test="$monthNumber
<xsl:when test="$monthNumber
</xsl:choose>
</xsl:template>

=
=
=
=
=
=
=
=
=
=
=
=

1">January</xsl:when>
2">February</xsl:when>
3">March</xsl:when>
4">April</xsl:when>
5">May</xsl:when>
6">June</xsl:when>
7">July</xsl:when>
8">August</xsl:when>
9">September</xsl:when>
10">October</xsl:when>
11">November</xsl:when>
12">December</xsl:when>

<!-- Display date -->


<xsl:call-template name="longMonth">
<xsl:with-param name="monthNumber">
<xsl:value-of select="external:date-format(@date, '%2M')"/>
</xsl:with-param>
</xsl:call-template>
&nbsp;<xsl:value-of select="external:date-format(@date, '%4y')"/>

Publication template
The publication template is the identity card of the content to be published. It references the resources used
in the publication process, i.e.:
n
n
n

the data schema,


the input form,
the transformation templates for each output document.

Identification of a publication template


A publication template is identified by its name and namespace.
The identification key of a stylesheet is a string made up of the namespace and the name separated by a
colon; for example: cus:newsletter.

268 | Neolane 2013

Content management

Note:
In practice, it is recommended to use the same key for the schema, the form, and the publication template.

Creating and configuring the template


Publication templates are stored by default in the Administration>Configuration>Configuration
templates node. To create a new template, click the New button above the list of templates.
To configure the publication template, populate the name of the template (i.e. the identification key consisting
of the name and the namespace), its label, data schema, and the input form it is linked to.

Note:
The label will appear whenever a content is created based on this publication template.
The Check status to validate content generation option forces a check on the "Validated" status of the
content instances to authorize file generation. For more on this, refer to Publication [page 270].
A transformation template must be added for each output document. You can create as many transformation
templates as necessary.
The Name of template field is a free label that describes the type of rendering at the output. For each
transformation template, the publication settings are available in the tabs.

Rendering
The Rendering tab, choose:
n
n
n

the type of rendering used for projecting the output document: XSL stylesheet or JavaScript template,
the format of the output document: HTML, Text, XML or RTF,
the template which contains the construction data, i.e. the stylesheet or JavaScript template to be used.

Neolane v6.1 - Neolane Delivery - Content management | 269

Neolane

Publication
Publication involves generating the output document in the form of a file, if the type selected is File.

The following publication options are available:


The output file encoding character set can be forced via the Encoding field. The Latin 1 (1252) character
set is used by default.
The Multi-file generation option activates a special document publication mode. This option consists
of populating a partitioning tag at the beginning of each page of the output document. Generating the
content will produce a file for each populated partitioning tag. This mode is used to generate mini-sites
from a content block. for more on this, refer to Multi-file generation [page 271].
The Location field contains the name of the output file. The name can be made up of variables in order
to generate an automatic filename.

A variable is populated with the following format: $(<xpath>), where <path is the path of a field of
the publication template data schema.
The name of a file can consist of a date-type field. To format this field correctly, use the $date-format
function, using the path of the field and the output format as parameters.
By default, the construction format of the file name uses the variables on the "@name" and "@date"
fields:
ct_$(@name)_$date-format(@date,'%4Y%2M%2D').htm

The generated file name will look like this: ct_news12_20110901.htm.

Note:
For more on content generation, refer to Creating a content instance [page 275].

Delivery
This tab lets you select a scenario in order to launch a delivery directly on the content. The content of the
e-mail will be populated automatically based on the output format (HTML or Text).

Note:
For an example of delivery creation based on a content, refer to Delivering a content instance [page 280].

270 | Neolane 2013

Content management

Aggregator
Aggregating the data from a script or query list lets you enrich the XML document with the content data.
The aim is to supplement certain information referenced by links or to add elements from the database.

Multi-file generation
To activate multiple file generation, select the Multi-file generation option in the publication model. This
option lets you specify partitioning tags in the stylesheet for the beginning of each page of the output
document. The generation of the content will produce a file for each partitioning tag encountered.
The partitioning tag to be integrated in the stylesheet is as follows:
<xsl:comment> #nl:output_replace(<name_of_file>) </xsl:comment> where <name_of_file>
is the filename of the page to be generated.

Neolane v6.1 - Neolane Delivery - Content management | 271

Neolane
Example :
Multiple file generation using the "cus:book" schema.
The principle is to generate a main page listing the chapters, with the possibility of displaying the details of
the chapter in an external page.

The corresponding stylesheet ("cus:book.xsl") is as follows:


<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output encoding="ISO-8859-1" method="html"/>
<!-- Style sheet entry point -->
<xsl:template match="/book">
<html>
<body>
<h1><xsl:value-of select="@name"/></h1>
<lu>
<xsl:for-each select="chapter">
<li><a target="_blank" href="chapter{@id}.htm"><xsl:value-of
select="@name"/></a></li>
</xsl:for-each>
</lu>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

A second stylesheet ("cus:chapter.xsl") is required to generate the details of the chapters:


<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output encoding="ISO-8859-1" method="html"/>
<!-- Detail of a chapter -->
<xsl:template match="chapter">
<!-- Cut tag -->
<xsl:comment> #nl:output_replace($(path)/chapter<xsl:value-of
select="@id"/>.htm)</xsl:comment>
<html>
<body>
<h1><xsl:value-of select="@name"/></h1>
<xsl:value-of select="page" disable-output-escaping="yes"/>
</body>
</html>
</xsl:template>
<!-- Style sheet entry point -->
<xsl:template match="/book">
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>

The partitioning tag is populated at the beginning of the page to be included in the file to generate.
<xsl:comment> #nl:output_replace($(path)/<xsl:value-of select="@id"/>.htm)</xsl:comment>

The filename is constructed with the $(path) variable containing the publication path and <xsl:value-of
select="@id"/, which matches the identifier of the chapter in the input document.
The publication model must be populated with the two stylesheets "cus:book.xsl" and "cus:chapter.xsl".
The Multi-file generation option must be active on the chapter transformation model:

272 | Neolane 2013

Content management

The Location field is not used in the generation of multiple files, but you must still populate this field to
avoid an error when publishing.

Using a content template


Content templates can be referenced and used in deliveries directly. Refer to Creating a delivery via content
management [page 274]
They can also be used to create content instances. Once they have been created, these instances are ready
to be delivered (refer to Delivering a content instance [page 280]) or exported (refer to Creating a content
instance [page 275]).

Neolane v6.1 - Neolane Delivery - Content management | 273

Neolane

Creating a delivery via content management


You can reference a content template in a delivery in view of using input fields to enter a content. An additional
tab is added to the delivery wizard for defining delivery content.

274 | Neolane 2013

Content management
The layout will be applied automatically based on the selected settings. To view it, click the HTML preview
(or Text preview) and select a recipient to test personalization elements.

For more on this, refer to the full implementation example: Creating a content in the delivery wizard [page 246].

Creating a content instance


You can create contents directly in the Neolane tree to be used in workflows, exported, or injected straight
into new deliveries.
Apply the following steps:

Neolane v6.1 - Neolane Delivery - Content management | 275

Neolane

1 Select the Resources>Contents node of the tree, right-click and choose Properties.

2 Select the publication templates that will be active for this folder.

276 | Neolane 2013

Content management

3 You can now create new content using the New button above the content list.

Neolane v6.1 - Neolane Delivery - Content management | 277

Neolane

4 Enter the fields in the form.

5 Then click the HTML preview tab to view the rendering. Here, the personalization fields taken from the
database aren't entered.

278 | Neolane 2013

Content management

6 Once it is created, the content is added to the list of available contents. Click the Properties link to
change its label, status, or view its history.

7 If necessary, once the content is approved it can be generated using the appropriate button on the
toolbar.

Neolane v6.1 - Neolane Delivery - Content management | 279

Neolane

Note:
You can authorize the generation of non-approved contents. To do this, change the relevant option in
the publication template. For more on this, refer to Creating and configuring the template [page 269].
The HTML and Text contents are generated by default in the publishing folder of the Neolane instance.
You can change the publication folder thanks to the NcmPublishingDir option.

Delivering a content instance


To create a content instance and deliver it, a delivery template needs to be linked to the publication template
used to generate this content. For more on this, refer to Delivery [page 270].
Moreover, the content storage folder must be dedicated to contents taken from this publication template
(when a content folder enables you to generate several types of content, deliveries can't be created
automatically).
To create the delivery automatically based on the selected content, click the Delivery icon and choose the
template.

Text and HTML contents are entered automatically.

280 | Neolane 2013

Content management

Enriching the content with external data


Aggregators let you enrich the content with external data. This data comes from generic queries or linked
tables.

Generic queries
Queries are configured via the publication template in the Aggregator tab.
The data retrieved will enrich the XML output document via its main element.
Example of return from a query on the recipient schema (nms:recipient):
<book name="Content Management">
...
<collection-recipient>
<recipient lastName="Doe" firstName="John" email="john.doe@aolf.com">
...
<.collection-recipient>
</book>

The <collection-recipient> element represents the input element of the document resulting from a query.
The data retrieved is returned under this element; in our example, a recipient list.

Adding a query
The query parameters are edited using a wizard.

1 In the first page, specify the label and the schema containing the data to be retrieved.

Neolane v6.1 - Neolane Delivery - Content management | 281

Neolane

Note:
The edit field Path is used to rename the query output element.

2 The next page lets you select the data to retrieve.

3 The next page defines the filter condition.

282 | Neolane 2013

Content management

4 The last page launches a preview of the data returned by the query.

Linked tables
Links let you retrieve external data linked to the content.
There are two types of linked data:
n

Content links: this is the native content management mode. The content of the link is automatically
integrated in the XML output document.
Links to external tables give access to all the other tables in the database with the constraint of retrieving
the data of the selected link with an aggregator.

Link to a content schema


A content link is declared in the data schema as follows:
<element expandSchemaTarget="cus:chapter" label="Main chapter" name="mainChapter"
type="string"/>

The definition of the link is populated on a string-type <element>, and the expandSchemaTarget
attribute references the target schema ("cus:chapter" in our example). The referenced schema must be a
content schema.
The content of the targeted element enriches the link element, i.e. the <chapter> element in our example
schema:
<mainChapter computeString="Introduction" id="7011" title="Introduction"
xtkschema="cus:chapter">
<page>Introduction to input &lt;STRONG&gt;forms&lt;/STRONG&gt;.</page>
</mainChapter>

Note:
The Compute string of the link is presented from the computeString attribute.
In the input form, the edit control of the link is declared as follows:
<input type="articleEdit" xpath="mainChapter"/>

The Magnifier icon enables you to open the edit form of the linked element.

Neolane v6.1 - Neolane Delivery - Content management | 283

Neolane
Link collection
To populate a collection of links, add the unbound="true" attribute to the definition of the link element in
the data schema:
<element expandSchemaTarget="cus:chapter" label="List of chapters" name="chapter"
ordered="true" unbound="true"/>

The content of the targeted element enriches each collection element:


<chapter computeString="Introduction" id="7011" title="Introduction" xtkschema="cus:chapter">
<page>Introduction to input &lt;STRONG&gt;forms&lt;/STRONG&gt;.</page>
</chapter>

In the input form, list control is declared as follows:


<input editable="false" nolabel="true" toolbarCaption="List of chapters" type="articleList"
xpath="chapter" zoom="true"/>

A default column is displayed in order to view the Compute string of the targeted elements.

Links to external tables


A link to an external table is declared in the data schema as follows:
<element label="Main contact" name="mainContact" target="nms:recipient" type="link"/>

The definition of the link is populated on a link-type <element>, and the target attribute references the
target schema ("nms:recipient" in our example).
By convention, links must be declared from the main element of the data schema.
The Compute string and the key of the targeted element enrich the <name>-id and <name>-cs attributes
on the main element.
In our example, the link is populated in the "cus:book" schema, the content of the link data is contained in
the "mainContact-id" and "maincontact-cs" attributes:
<book computeString="Content management" date="2006/06/08" id="6106" language="fra"
mainContact-cs="John Doe (john.doe@neolane.net)" mainContact-id="3012" name="Content
management" xtkschema="cus:book">

Link edit control is declared as follows:


<input xpath="mainContact"/>

You can restrict the choice of target elements by adding the <sysFilter> element via the link definition in
the input form:
<input xpath="mainContact">
<!-- Filter the selection of the link on the Neolane domain -->
<sysFilter>
<condition expr="@domain = 'neolane.net'"/>
</sysFilter>
</input>

Note:
This restriction also applies to content links.

284 | Neolane 2013

Content management
Link collection
The definition of the collection is identical to the definition of a list on collection elements:
<element label="List of contacts" name="contact" unbound="true">
<element label="Recipient" name="recipient" target="nms:recipient" type="link"/>
</element>

In the input form, list control is declared as follows:


<input nolabel="true" toolbarCaption="List of contacts" type="list" xpath="contact">
<input xpath="recipient"/>
</input>

Note:
The list is editable and lets you select the link from a "link"-type control presented above.
The content of the targeted element enriches each collection element in the output document:
<contact id="11504978621" recipient-cs="Doe John (john.doe@neolane.net)"
recipient-id="3012"/>
<contact id="11504982510" recipient-cs="Martinez Peter (peter.martinez@neolane.com)"
recipient-id="3013"/>

Link aggregation
The content of each link referenced is limited to the internal key and the Compute string of the targeted
element.
A JavaScript script is used to enrich the content of the links via SOAP queries.
Example: Adding the recipient name to the "mainContact" link and the "contact" collection links:
// Update <mainContact> link
var mainContactId = content.@['mainContact-id']
var query = xtk.queryDef.create(
<queryDef schema="nms:recipient" operation="get">
<select>
<node expr="@lastName"/>
</select>
<where>
<condition expr={"@id="+mainContactId}/>
</where>
</queryDef>)
var recipient = query.ExecuteQuery()
content.mainContact.@lastName = recipient.@lastName
// Update <contact> link collection
for each(var contact in content.contact)
{
var contactId = contact.@['recipient-id']
var query = xtk.queryDef.create(
<queryDef schema="nms:recipient" operation="get">
<select>
<node expr="@lastName"/>
</select>
<where>
<condition expr={"@id="+contactId}/>
</where>
</queryDef>
)
var recipient = query.ExecuteQuery()

Neolane v6.1 - Neolane Delivery - Content management | 285

Neolane
contact.@lastName = recipient.@lastName
}

The result obtained after script execution:


<mainContact lastName="Doe"/>
<contact id="11504978621" lastName="Doe" recipient-cs="Doe John (john.doe@neolane.net)"
recipient-id="3012"/>
<contact id="11504982510" lastName="Martinez" recipient-cs="Martinez Peter
(peter.martinez@neolane.com)" recipient-id="3013"/>

The content of the JavaScript code is added via the Content management > Configuration > JavaScript
Codes folder and must be populated in the publication template for each transformation.

Automating content creation via workflows


Creating, editing, and publishing content can be automated using a workflow configured via the Neolane
client interface.

Content activity
The Content management activity is accessed via the Tools toolbar of the workflow diagram.

Activity properties are broken down into four steps:


n
n
n

Content: lets you enter existing content or create content


Update content: lets you modify the subject of the content or update the content via an XML data flux
Action to execute: lets you save or generate content

286 | Neolane 2013

Content management
n

Transition: lets you choose whether or not to generate an output transition and give it a name.

Content
n

Specified by the transition

The content to be used was created previously. Processes will concern the content instance
propagated by the incoming event. The content identifier is accessed via the "contentId"
variable of the event.
Explicit

Lets you choose previously created content .


Calculated by a script

Selects a content instance based on a JavaScript template. The code to be evaluated lets you
retrieve the content identifier.
New, created via a publication template
Creates a new content via a publication template. The content instance will be saved in the
populated "String" folder.

Update the content


n

Subject

Lets you modify the subject of the delivery action when publishing.
Access to the data from an XML feed
The content is updated from an XML feed from an external source. A URL must be entered
for data downloading to occur.
An XSL stylesheet can be used to transform the incoming XML data.

Neolane v6.1 - Neolane Delivery - Content management | 287

Neolane
Action to be executed
n

Save

Saves the created or modified content. The identifier of the saved content is propagated in
the "contentId" variable of the outgoing event.
Generate
Generates the output files for each of the transformation templates with a "File" type publication.
The outgoing transition is activated for each generated file, with the following parameters:
the identifier of the content saved in the "contentId" variable and the filename in the "filename"
variable.

Transition
The Generate an output transition option lets you add an output transition to the Content
management activity to link a new activity to workflow execution. After checking this option,
enter a label for the transition.

Examples
automating content creation and delivery
The following example automates the creation and delivery of a content block.

288 | Neolane 2013

Content management
The content is configured via the "Content management" activity:

A new content instance is created via the publication model and the content string folder.
In our example, we have overloaded the delivery subject. It will be taken into account instead of the one
entered in the Delivery template.
The content is filled in automatically by an XML feed coming from the URL entered:
<?xml version='1.0' encoding='ISO-8859-1'?>
<book name="Content automation test" date="2008/06/08" language="eng" computeString="Content
automation test">
<section id="1" name="Introduction">
<page>Introduction to input forms.</page>
</section>
</book>

The data format does not match the data schema entered in the publication template (cus:book in our
example); the <section> element must be replaced with the <chapter> element. We need to apply the
"cus:book-workflow.xsl" stylesheet to make the necessary changes.
Source code of the XSLT stylesheet used:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" method="xml" encoding="ISO-8859-1"/>
<xsl:template match="text()|@*"/>
<xsl:template match="*">
<xsl:variable name="element.name" select="name(.)"/>
<xsl:element name="{$element.name}">
<xsl:copy-of select="text()|@*"/>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="book">
<book name="test">
<xsl:apply-templates/>

Neolane v6.1 - Neolane Delivery - Content management | 289

Neolane
<book>
</xsl:template>
<xsl:template match="section">
<chapter>
<xsl:for-each select="@*">
<xsl:copy-of select="."/>
</xsl:for-each>
<xsl:apply-templates/>
</chapter>
</xsl:template>
</xsl:stylesheet>

The final action of the activity is to save the content instance and proceed to the next task.
Targeting is carried out via the Query activity.
An AND-join activity was added to make sure the delivery is only started once target querying and content
updates are complete.
The delivery action is configured via the Delivery activity:

A new delivery action is created based on a template.

Important:
The delivery template of the activity is used to select the transformation templates of the publication template.
Content generation will take into account all HTML and Text templates without delivery templates or those
which are referenced with the same template as the activity.
The target to be delivered is entered via the incoming event.
The delivery content is populated via the incoming event.
The last step to completing the activity is to prepare and then launch the delivery.

290 | Neolane 2013

Content management

Creating a content and publishing it later


This example creates a content block and launches file publication after a specific time delay.

The first Content management task creates a content instance.

Note:
The Publication tab of the transformation templates window must be populated with the location of the
target to be generated.
A waiting activity is added to pause the next transition for a week.

Content is entered manually during this time period.

Neolane v6.1 - Neolane Delivery - Content management | 291

Neolane
The next task launches content generation.

The content to be published is entered via the incoming transition.


The final action is to generate this content by forcing the publication directory.

292 | Neolane 2013

Content management
The JavaScript Code activity retrieves the full name of each generated file.

Creating the delivery and its content


This example uses the same concept as the first example, only it creates the delivery action in the first step.

The first Create delivery task creates the delivery action.


The fork activity lets you launch target calculation and the creation of the content instance at the same time.

Neolane v6.1 - Neolane Delivery - Content management | 293

Neolane
Once the tasks have been executed, the AND-join box activates the Delivery task to launch the previously
created delivery on content and targeting.

The delivery action to be started is populated via the transition.


The target to be delivered is entered via the incoming event.
The delivery content is populated via the incoming event.
The final action of the activity is to prepare and launch the delivery.

Semi-automatic update
The data of a content can be updated in "semi-automatic" mode. The data is recovered from an XML feed
via a URL.
The activation of data recovery is performed manually via the input form.
The aim is to declare an <input> field of type editBtn in the form. This control comprises an edit zone
and a button to launch processing.
The edit zone lets you populate variable data used to construct the URL of the XML feed of data to be
retrieved.
The button executes the GetAndTransform SOAP method populated under the <input> tag.
Control declaration in the form is as follows:
<input type="editbtn" xpath="<path>">
<enter>
<soapCall name="GetAndTransform" service="ncm:content">
<param exprIn="<url>" type="string"/>
<param exprIn="'xtk:xslt|<style sheet>'" type="string"/>
<param type="DOMElement" xpathOut="<output path>"/>
</soapCall>
</enter>
</input>

The GetAndTransform method must be declared under the <enter> element of the <input> tag. This
tag takes as parameters the URL of recovery of XML data from an expression constructed dynamically. The

294 | Neolane 2013

Content management
second parameter of the function is optional, and references a stylesheet used for an intermediate
transformation when the incoming XML data is not in the same format as the content.
The output updates the content based on the path entered in the last parameter.
Example: To illustrate this example, we start from the "cus:book" schema.
A semi-automatic update edit control input form is added:

<input label="File name" type="editbtn" xpath="/tmp/@name">


<enter>
<soapCall name="GetAndTransform" service="ncm:content">
<param exprIn="'http://server/incoming/' + [/tmp/@name] + '.xml'" type="string"/>
<param exprIn="'xtk:xslt|cus:book-workflow.xsl'" type="string"/>
<param type="DOMElement" xpathOut="."/>
</soapCall>
</enter>
</input>

The edit zone lets you enter the name of the file to be retrieved. The URL is constructed based on this name,
for example: http://server/incomin/data.xml
The format of the data to be retrieved is the same as in example 1 of workflow automation. We shall use
the "cus:book-workflow.xsl" stylesheet seen in this example.
The result of job execution updates the content instance from the path '.'.

Neolane v6.1 - Neolane Delivery - Content management | 295

Neolane

296 | Neolane v6.1 - Neolane Delivery

APPENDIX E

Personalizing PDF
documents option

Table of Contents
Dynamic tables . . . . . . . . . . . . . . . . . . . . . . . . . .
External images . . . . . . . . . . . . . . . . . . . . . . . . . .

298
298

Neolane lets you generate variable PDF documents (email attachments, direct mail delivery) using
OpenOffice.org or Word documents.
The following extensions are supported: ".docx", ".doc", and ".odt".
To personalize your documents, the same JavaScript functionalities as for email personalization are
available.
You need to activate the "The content of the file is personalized and converted to PDF
during the delivery of each message" option. This option is accessible when you attach the
file to the delivery email. For more on attaching a calculated file, refer to the Attachments [page 97]
section.
Example of an invoice header personalization with OpenOffice Writer:

To generate dynamic tables or include images via a URL, you need to follow a specific process.

Neolane v6.1 - Neolane Delivery - Personalizing PDF documents option | 297

Neolane

Dynamic tables
The procedure for generating dynamic tables is as follows:
n

n
n

Create a table with three lines and as many columns as necessary, then configure its layout (borders,
etc.).
Place your cursor on the table and click the Table > Table properties menu. Go to the Table tab and
enter a name beginning with NlJsTable.
In the first cell of the first line, define a loop ("for", for example) that enables iteration on the values you
want to display in the table.
In each cell of the second line of the table, insert scripts that return the values to display.
Close the loop in the third and last line of the table.
Example of a dynamic table definition:

External images
The insertion of external images is useful if, for instance, you want to personalize a document with an image
whose URL is entered in a field of the recipient.
To do this, you need to configure a personalization block, then include a call to the personalization block in
the attachment.
Example: inserting a personalized logo depending on the recipient's country
Step 1: create the attachment:
n

Insert the call to the personalization block: <%@ include view="blockname" %>

298 | Neolane 2013

Personalizing PDF documents option


n

Insert your content (personalized or not) into the body of the file

Step 2: create the personalization block:


n

n
n

Go to the "Resources > Campaign management > Personalization blocks" menu of the Neolane
console.
Create a new "My Logo" personalization block with "My_Logo" as an internal name.
Check the "The content of the block is included in an attachment" option. This lets you copy the
definition of the personalization block directly into the content of the Open Office file.

You need to differentiate two types of declarations within the personalization block:
n

The Neolane code of the personalization fields for which the "open" and "closed" chevrons must be
replaced with escape characters (respectively &lt; and &gt;).
The entire OpenOffice XML code will be copied into the OpenOffice document.

In the example, the personalization block looks like this:


&lt;% if (recipient.country.label == "Germany") { %&gt;
<draw:frame svg:width="4cm" svg:height="3cm">
<draw:image xlink:href=http://..../logo_germany.png />
</draw:frame>
&lt;% } else
if (recipient.country.label == "USA")
{ %&gt;

Neolane v6.1 - Neolane Delivery - Personalizing PDF documents option | 299

Neolane

<draw:frame svg:width="4cm" svg:height="3cm">


<draw:image xlink:href=http://..../logo_USA.png />
</draw:frame>
&lt;% } %&gt;

Depending on the recipient's country, personalization is visible in the document linked to the delivery:

300 | Neolane 2013

You might also like