Guides
Issues
FAQ
Overview
Imports is the area within the Connectivity Suite where you configure how external data flows into Permutive, allowing you to further enrich your available first-party data and build cohorts from it. There are two import flows, depending on where your data lives:- Data Warehouse and Lake Imports — bring data in from a data warehouse or cloud storage platform (such as BigQuery, Snowflake, Amazon S3, or Google Cloud Storage) that you’ve already connected to Permutive. Use this flow for user profile, activity, identity, group identity, or segment data that lives in your own systems. Data Warehouse and Lake Imports require an active connection — set one up on the Connections page first.
- Second-Party Data — receive audience segments shared by a partner, CRM, or DMP, either through file upload to a Permutive-managed Google Cloud Storage bucket or through LiveRamp’s distribution network. This flow does not require a connection.
Why Use Imports?
Bring your warehouse data to life — Import user profile, activity, identity, group, or segment data directly from your connected data warehouse or cloud storage into Permutive, without needing a partner integration or file upload. Interoperability — Monetize all data points from external sources alongside your first-party data. Import segments from any system that can export user lists, enabling a unified view of your audience. Second-party data partnerships — Receive audience data from trusted partners. Partners can share their audience segments with you through GCS file uploads or LiveRamp distribution, enabling collaborative data strategies. CRM integration — Import subscriber lists, customer segments, or membership tiers from your CRM. Target known users across your properties with personalized campaigns based on their customer status. Third-party enrichment — Layer data provider segments onto your audiences. Import demographic, interest, or intent data from third-party providers to enhance your targeting capabilities.Concepts
Definitions
- Import: A configured pipeline that brings external data into Permutive. Imports fall into two flows: Data Warehouse and Lake Imports, which pull data from an active connection to your data warehouse or cloud storage, and Second-Party Data imports, which receive data via file upload or LiveRamp distribution.
- Connection: A configured link between Permutive and a data warehouse or storage platform, set up and managed on the Connections page. An active connection is required before you can create a warehouse or lake import.
- Taxonomy (Second-Party Data): A mapping that associates segment codes with human-readable names, descriptions, and optional metadata like CPM pricing. The taxonomy defines what each segment code means and how it appears in the Dashboard.
- Data Provider / Audience Set (Second-Party Data): A logical grouping mechanism for organizing segments from different sources. Each Second-Party Data import is associated with a data provider, which helps separate segments from different partners or use cases.
- Segment Code (Second-Party Data): A unique identifier for a segment within an import. Segment codes are defined in the taxonomy and referenced in data files. Codes are alphanumeric strings — best practice is to use sequences (e.g., “0001”, “s001”) rather than human-readable words.
- Import Lifetime (Second-Party Data): The time-to-live (TTL) for imported segment memberships. After the lifetime expires, users are removed from the segment unless refreshed by a new data upload. Default is 60 days, set at the import level.
Data Warehouse and Lake Import Flow
The warehouse or lake import process follows this sequence:- Connection Setup: Establish and activate a connection to your data warehouse or cloud storage on the Connections page
- Import Creation: Configure an import in the Dashboard, choosing the data type (User Profile, Activity, Identity Graph, Group Identity, or Segment) and the source table and columns
- Sync: Permutive syncs data from the source table on a recurring schedule
- Activation: Imported data becomes available for cohort building and targeting
Second-Party Data Flow
The Second-Party Data import process follows this sequence:- Import Creation: Configure an import in the Dashboard, specifying the source type (GCS or LiveRamp) and data provider details
- Taxonomy Setup: Upload or configure the taxonomy to define segment codes and names
- Data Upload: Upload data files (GCS) or receive data (LiveRamp) containing user IDs and segment memberships
- Processing: Permutive processes the files and matches user IDs to users in your workspace
- Activation: Imported segments become available in the Cohort Builder
Workflows
Data Warehouse and Lake Imports: Creating an Import
Data Warehouse and Lake Imports require an active connection — see Connections if you haven’t set one up yet. Once your connection’s status is Active, you can create a warehouse or lake import to start bringing data from that connection into Permutive. When creating a warehouse or lake import, you choose the data type to import, the source table, and which columns to bring in. See the Creating an Import guide for step-by-step instructions.Data Warehouse and Lake Imports: Import Types
Data Warehouse and Lake Imports support bringing in the following types of data:- User Profile Data — Import static user attributes such as demographics and subscription tiers for trait-based cohort building and targeting.
- User Activity Data — Import time-stamped event or behavioral data such as purchase history or content interactions for time-bound audience building.
- Identity Graph Data — Import user identity mappings and household graphs to enrich Permutive’s Identity Graph with identifiers and group relationships from your data warehouse. See Importing User Identity and Importing User Group Memberships for step-by-step guides.
- User Segment Data — Import segment memberships to bring pre-built segments or audiences from your warehouse into Permutive for targeting and activation. See Importing User Segments for a step-by-step guide.
Second-Party Data: Creating an Import
Navigate to Connectivity > Imports in the Permutive Dashboard and click “Create Import” to begin. Select the import source (GCS or LiveRamp) and provide configuration details such as the data provider name and default segment lifetime. For GCS imports: Permutive generates a unique GCS bucket path and service account credentials. Use these credentials to upload data files to the specified bucket. For LiveRamp imports: The advertiser configures LiveRamp to distribute data to Permutive using your Permutive Organization ID (found in Settings in the Dashboard). See the LiveRamp guide for detailed setup steps.Second-Party Data: Setting Up Taxonomy
The taxonomy maps segment codes to human-readable names and metadata. You can configure the taxonomy in two ways: CSV Upload: Upload a CSV file with columns for segment code, name, description, and CPM. This is ideal for initial setup or bulk updates. Taxonomy API: Use the Taxonomy API to programmatically manage segments. This supports adding, updating, and removing individual segments with batch operations of up to 5,000 operations per request.Second-Party Data: Uploading Data Files
For GCS imports, upload data files containing user ID and segment mappings: Manual Upload: Use the Google Cloud Console orgsutil CLI to upload files directly to the Permutive-managed bucket.
Programmatic Upload: Use the GCS service account credentials provided by Permutive to automate file uploads from your data pipeline.
Second-Party Data: Data File Format
Data files must follow this tab-separated format:- Tab-separated values (USER_ID \t SEGMENTS)
- Segment codes comma-separated (no spaces)
- Files should be gzip compressed with
.gzextension (NOT.gzip) - No whitespace in segment codes
- User IDs should match identifiers tracked by your Permutive SDK
Second-Party Data: Taxonomy CSV Format
The taxonomy CSV defines your segments:Code(required): Unique segment code (alphanumeric, no spaces). Best practice is to use a sequence (e.g.,0001,0002,s001) rather than human-readable words.Name(required): Display name in Dashboard. Use hyphens to delimit category levels (e.g.,Demographic - Inferred Gender - Female).Description(optional): Segment descriptionCPM (USD)(optional): Cost per mille for third-party segments. Leave blank or0for self-sourced data.
Troubleshooting
The following issues may occur when working with Imports. For connection-level issues (authentication, catalog availability, connection status), see Connections instead.File upload fails with permission errors
File upload fails with permission errors
File format errors during processing
File format errors during processing
- Using spaces instead of tabs as the delimiter
- Using
.gzipextension instead of.gz - Whitespace in segment codes
- Missing or malformed user IDs
.gz extension. Remove any whitespace from segment codes. Validate a sample of your file format before uploading large batches.Segment codes not appearing in taxonomy
Segment codes not appearing in taxonomy
Zero match rate or users not appearing in segments
Zero match rate or users not appearing in segments
- User ID format mismatch (e.g., lowercase vs uppercase)
- Using a different identifier type than what’s tracked
- Users haven’t visited your site/app yet
- Segment lifetime has expired
LiveRamp import not receiving data
LiveRamp import not receiving data
Taxonomy API returns batch size error
Taxonomy API returns batch size error
Environment Compatibility
Data Warehouse and Lake Import Platforms
Data Warehouse and Lake Imports are available from any platform you can connect to. See Supported Source Platforms on the Connections page for the current list.Second-Party Data Sources
Second-Party Data imports can receive data from the following sources:Second-Party Data Identifier Support
Second-Party Data imports support matching on various identifier types:Guides
Step-by-step instructions for working with Imports. Data Warehouse and Lake ImportsCreating an Import
Actioning Schema Updates
Second-Party Data Overview
Configuring Taxonomy
Ingesting Data via LiveRamp
Adding Audiences in LiveRamp
Dependencies
Imports require the following products and infrastructure:Limits
Imports adhere to the following product specifications and limits.Data Warehouse and Lake Import Limits
Second-Party Data File Limits
Second-Party Data Taxonomy Limits
Second-Party Data Segment Limits
FAQ
Do I need a connection to create an import?
Do I need a connection to create an import?
What happens if my source schema changes?
What happens if my source schema changes?
- Add new columns to an existing import and choose which of the new columns to include
- See detected changes flagged as Supported (can be accepted from the dashboard) or Unsupported (require reverting the change at source)
What user identifiers can I use in import files?
What user identifiers can I use in import files?
How quickly do imported segments become available?
How quickly do imported segments become available?
What happens when a segment lifetime expires?
What happens when a segment lifetime expires?
Can I update the taxonomy after uploading data?
Can I update the taxonomy after uploading data?
How do I remove users from an imported segment?
How do I remove users from an imported segment?
Can I import data from multiple partners?
Can I import data from multiple partners?
What's the difference between GCS and LiveRamp imports?
What's the difference between GCS and LiveRamp imports?
How do I troubleshoot low match rates?
How do I troubleshoot low match rates?
- The identifier type in your file matches what’s tracked by the SDK
- The format is exactly correct (case sensitivity, hyphens, etc.)
- The users have actually visited your site/app (new users won’t match)
- The identifier is configured in Identity Graph
Can I use imported segments in real-time bidding?
Can I use imported segments in real-time bidding?
Is there historical backfill when I create a new import?
Is there historical backfill when I create a new import?