Back

This article describes the two common approaches to visitor identification when using the file import data source, a popular method for uploading customer data to your account. The most important data in those file uploads is the ID column that associates the data to a customer. 

There are two common methods for identifying visitors in a file import: CSV column mapping or attribute enrichment. When using column mapping a visitor ID attribute is assigned a value directly from a column in the file. This is enabled in the file import configuration using the option Enable Visitor ID Mapping in AudienceStream.

When using attribute enrichment the system generates a tealium_visitor_id attribute for each row that is imported. Identity resolution is then handled by your existing attributes enrichments. This is the approach we recommend.

CSV Column Mapping

This approach involves identifying a column (or columns for File Import) that can be used as a Visitor ID. The value in the column is then directly assigned to tealium_visitor_id and matched directly to any existing visitor profiles. In order to keep the file ingestion efficient, no validation is done on the column values. This means invalid or unformatted values will be incorrectly recorded as a Visitor ID within Tealium. If no value is available for any column assigned as a stitching key, a standard tealium_visitor_id value is generated.

Good Use Cases

  • Daily imports from thid-party systems
  • Data model outputs (e.g. where Visitor IDs can be validated)
  • Other imports from systems that can prevalidate Visitor ID values
  • Any imports where visitor ID's are likely to reoccur

Attribute Enrichment

This approach behaves similarly to a typical incoming event. By excluding a visitor ID column mapping in the file import configuration, the visitor ID occurs as event attributes get enriched into visitor attributes. This ensures that your existing enrichment rules are followed. 

First and foremost this ensures any values assigned meet Tealium's Visitor ID requirements, but also allows for conditional assignment and manipulation to the value before enrichment occurs.

Good Use Cases

  • Offline or historical data imports from external databases
  • Data imports that do not require or do not always require visitor assignment (e.g EventDB imports or offline sales with and without customer IDs)
  • Any imports that don't have a reason to stitch on receipt