What the File Import data source actually is
File Import is a server-side data source type: it accepts a delimited file - almost always CSV - on a schedule or on demand, and maps its columns into events and attributes the rest of the profile can use. Delivery is typically by SFTP push, cloud storage (S3-style buckets), or manual upload for one-off backfills. It is the mechanism for data that exists as a batch, not a stream.
When you actually need it
The signal is simple: a system that produces useful data but has no event to fire. Common cases we build for -
- A nightly CRM export carrying updated lifecycle stage or lead score
- End-of-day POS or call-center batches that need to reconcile against online sessions
- Offline conversion files from a partner or affiliate network with no real-time API
- A one-time historical backfill so a new AudienceStream attribute has history on day one
How to implement it properly
The sequence that avoids rework later: define the file schema first (exact column order, headers, delimiter, encoding) against a real sample file, not a spec someone remembers. Choose the delivery method the source system can actually sustain unattended - SFTP push is usually more reliable long-term than asking someone to remember a manual upload. Set the import schedule to match the source's actual production cadence, not an arbitrary round number. Map every column deliberately to an attribute or event; unmapped columns are silent data loss. Encryption and compression settings are version and tier dependent - confirm the current options against Tealium's own documentation before assuming a method is supported.
How to verify it worked
A green status on the import job is not verification. Check the import status log for the actual record count processed against the source file's row count. Then spot-check one mapped attribute on a visitor profile you can independently confirm from the source system - if the file said a customer's lifecycle stage changed, that same value should be readable on that visitor in Tealium, not just accepted by the loader.
The failure mode to design against: a schema drift in the source file (a column added, renamed, or reordered upstream) that the import accepts silently and maps wrong. Build a row-count and header check into the process, not just a success/failure flag.