Data requirements for profile and batch transaction files

Profile and batch transaction files have a specified format.

Format requirements

Batch files must have the following format.

  • One header that contains the names of the fields in the file. The names must exactly match the names defined in the data source to which the Batch file connector is mapped.
  • The first field must be the audience ID.
  • The file must have UNIX style newline characters.
  • All record lines must use a delimiter between fields, but not before the first field in the line or after the last field in the line.

    The following delimiters are allowed.

    • pipe (vertical line: |)
    • comma
    • semi-colon
    • tab
  • A pair of delimiters next to one another indicates the absence of data for the field positioned between those two delimiters. If the first field of the record contains no data, then the line begins with the first delimiter, and if the last field contains no data, then the line ends with the last delimiter.
  • The delimiter must not be used within data fields.

Date field requirement

For batch transaction files only, one field must be a timestamp field, expressed in seconds.

Audience ID field requirement

One field in all data sources must be an ID field used for an audience level, and this must be the first field in each record in the file.

Sort order requirement

The records in a batch file must be sorted by audience ID first, then by transaction timestamp.

Additional considerations

Note the following considerations.

  • Opportunity Detect cannot match fields with NULL values when performing comparisons. You must substitute either a single printable character or a character string for the NULL values if you want to use NULL as a condition in comparisons.
  • Date fields must be in system-readable date format even if you want those dates to be empty (NULL). You can represent NULL dates as either very old dates or very future dates .
  • The date format in date fields must match the date format that is associated with the date locale used in the file connector.
  • In distributed environment, all runtime servers must be able to access the profile and transaction files.

Batch transaction and profile file examples

Note: The following examples are formatted with constant widths for readability. Actual batch transaction and profile files must not use constant widths.

Here is an example of a simple transaction file.


ID    |NAME    |CALLED_NUMBER|CALL_LENGTH|TRAN_DATE_TIME 
001234|David   |732-123-4567 |15         |2012-02-10 09:12:33 
001234|David   |732-111-5555 |48         |2012-02-10 10:11:50 
002941|Jeremiah|732-777-8888 |40         |2012-02-10 11:22:44 
005555|Anthony |732-333-4444 |27         |2012-02-10 03:01:02
005555|Anthony |732-32-8945  |121        |2012-02-10 10:12:30 
005555|Anthony |973-597-0022 |2          |2012-02-10 19:00:21 
006789|Tom     |732-111-2222 |4          |2012-02-10 06:54:01

Here is an example of a simple profile file.


ID    |AGE|ZIP 
001234|25 |11111 
002941|55 |22222 
005555|31 |33333 
006789|60 |44444 
100382|18 |55555