TPI Data File Formatting Best Practices

File setup

  • CSV files are recommended.
    • Tab-delimited .TXT files are the next best when CSV exports produce inconsistent quoting or parsing errors.
    • While we will except Excel files both CSV and TXT files have fewer formatting surprises than Excel.  They will process faster and cause fewer unexpected delays.
  • If not sending CSV or TXT, we recommend:
    • No external links or references to other workbooks embedded in the file.
    • No password protection (our SFTP secures data in transit and at rest).
    • No hidden rows or columns. Hiding rows or columns does not prevent them from being processed.
  • One file per one tabular dataset.   If you provide your data in Excel do not include files with multiple tabs, pivot summaries, or notes pages. 
  • Row 1 is for headers only. No merged cells, stacked headers, or blank header rows.
  • No commas inside fields unless encapsulated in quotes. If your system exports inconsistent quoting, fix export settings before sending.
  • Use UTF-8 encoding if you can (prevents special character issues in names/streets)

Structure and consistency

  • One row per mailed record (one recipient/household/record—whatever the campaign logic is). 
  • Do not change the meaning of a column between drops. If you need changes, create a v2 template and keep v1 intact. 
  • Keep column order stable once a campaign is running. (It prevents mapping errors and reduces QA time.)
  • Use clear, predictable header names (FIRST, LAST, ADDRESS1, CITY, STATE, ZIP). Names don’t have to be perfect, but “random” increases questions.
    • Our Recommended Fields Names are:
      • ACCOUNT
      • FIRST
      • LAST
      • ADDRESS1
      • ADDRESS2
      • CITY
      • STATE
      • ZIP
  • We recommend sending only the fields needed for mailing and variable programming.

IDs and keys (Some details will vary for different Player Tracking Systems)

  • Include a unique patron key on every row (ACCOUNT / PLAYER_ID). 
  • If you’re doing a mail file + matrix, your key fields must be consistent:
    • Mail file includes SEGMENT_ID (or equivalent)
    • Matrix includes the same SEGMENT_ID values, spelled the same, every time 
  • Don’t reuse IDs for different people, and don’t change IDs for the same person between drops.

Address hygiene (fastest way to reduce returns + rework)

  • Split address fields: ADDRESS1 and ADDRESS2 (don’t cram Apt/Suite into ADDRESS1 when possible).
  • Use USPS-style state abbreviations (CA, NV, FL).
  • ZIP as 5 or 9 digits (and keep it consistent across the file. Don’t send mixed formats if you can avoid it.)
  • Avoid unnecessary punctuation in addresses.

Dates and formats

Pick one date format and stick with it.  Our recommended format is  YYYY-MM-DD.


Segmentation and offers

  • If offers are personalized, keep offer fields on the mail file row (Embedded Offers approach). 
  • If offers are segment-based, don’t repeat offer text 50,000 times—use the matrix approach. 
  • Use a consistent naming pattern for “multiple offers”:
    • OFFER_1 / OFFER_2 / OFFER_3
    • OFFERTYPE_1 / OFFERTYPE_2 …
    • OFFERDATES_1 / OFFERDATES_2 … 

Creative/version control

  • If you have multiple creative versions, include ART_VERSION and keep the values simple:
    • A / B / C (or 1 / 2 / 3) Don’t use long phrases like “HOST VERSION FINAL NEW” in the data.
  • ART_VERSION should map 1:1 to artwork files (same naming every drop).

QA checks we recommend before sending (reduces emails immediately)

  • Record count: confirm total rows + expected quantity.
  • Null checks: no blanks in required fields (ID, address, ZIP, segment key if used).
  • Duplicate logic: confirm whether you want de-dupe by PLAYER_ID, by household, or not at all.
  • Spot check 20 rows: confirm names/addresses/offers look right and align to the campaign.

How to send (small thing, big impact)

  • File naming convention (keeps everyone sane):
    CasinoName_CampaignName_InHomeYYYYMMDD_v1.csv
  • Include a quick note in the email:
    • “Address-only” or “Offer-driven”
    • In-home date / drop date
    • Any exclusions/suppressions applied

Questions?

If you have any questions, please reach out to Mat Neely or your TPI project manager.




Universal Data Acceptance

TPI can work with data in any format. Nothing on this page is required. These are simply our recommended best practices based on supporting 300+ casinos each month, and they help reduce back-and-forth and keep turn times moving.


Additional Resources