Overview
Imports (also known as Audience Imports) enables publishers to import audience segments from external sources directly into Permutive. Publishers can bring in data from Customer Data Platforms (CDPs), data partners, DMPs, or their own CRM systems and use these imported segments to build cohorts and activate campaigns. Permutive supports two import sources:- Google Cloud Storage (GCS): Upload user ID and segment files directly to a Permutive-managed GCS bucket
- LiveRamp: Receive audience data through LiveRamp’s data distribution network
Why Use Imports?
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 configuration that defines the source of external audience data, access permissions, and segment lifetime. Each import represents a connection to a specific data provider or partner.
- Taxonomy: 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: A logical grouping mechanism for organizing segments from different sources. Each import is associated with a data provider, which helps separate segments from different partners or use cases.
- Segment Code: A unique identifier for a segment within an import. Segment codes are defined in the taxonomy and referenced in data files. Codes can be alphanumeric strings (e.g., “0001”, “demo_25_34”, “intent_auto”).
- Import Lifetime: 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, but can be overridden per segment in the taxonomy.
Data Flow
The 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
Creating an Import
Publishers navigate to Connectivity > Imports in the Permutive Dashboard and click “Add Import” to begin. They 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. Publishers use these credentials to upload data files to the specified bucket. For LiveRamp imports: Publishers provide their LiveRamp Organization ID. Permutive configures the connection to receive data from LiveRamp’s distribution network.Setting Up Taxonomy
The taxonomy maps segment codes to human-readable names and metadata. Publishers can configure the taxonomy in two ways: CSV Upload: Upload a CSV file with columns for segment ID, name, description, CPM, and lifetime. 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.Uploading Data Files
For GCS imports, publishers 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.
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
Taxonomy CSV Format
The taxonomy CSV defines your segments:ID(required): Unique segment code (alphanumeric, no spaces)Name(required): Display name in DashboardDescription(optional): Segment descriptionCPM (USD)(optional): Cost per mille for third-party segments
Troubleshooting
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
Import Sources
Imports can receive data from the following sources:| Source | Description | Configuration |
|---|---|---|
| Google Cloud Storage | Upload files directly to a Permutive-managed GCS bucket | Service account credentials provided |
| LiveRamp | Receive data through LiveRamp’s distribution network | LiveRamp Organization ID required |
Identifier Support
Imports support matching on various identifier types:| Identifier Type | GCS Import | LiveRamp Import |
|---|---|---|
| Permutive User ID | Yes | No |
| RampID | Yes | Yes |
| Custom Identifiers | Yes | No |
Guides
Step-by-step instructions for working with Imports.Creating an Import
Configuring Taxonomy
Uploading Data Files Manually
Uploading Data Files Programmatically
Setting Up LiveRamp Import
Using Imports in Cohorts
Dependencies
Imports require the following products and infrastructure:| Dependency | Required | Description |
|---|---|---|
| Permutive SDK | ✓ | The Permutive SDK must be deployed to track user identifiers that imported segments will match against. |
| Identity Graph | ✓ | User identifiers used in import files must be configured in Identity Graph for matching to work correctly. |
| Cloud Storage Access | For GCS | GCS imports require the ability to upload files to Google Cloud Storage using provided service account credentials. |
| LiveRamp Account | For LiveRamp | LiveRamp imports require an active LiveRamp account with data distribution configured. |
Limits
Imports adhere to the following product specifications and limits.File Limits
| Feature | Description | Limit |
|---|---|---|
| User IDs per file | Maximum number of user ID rows in a single data file. | 10,000,000 |
| Daily data volume | Maximum total file size uploaded per day. | 40 GB |
| File compression | Required compression format for data files. | gzip (.gz) |
Taxonomy Limits
| Feature | Description | Limit |
|---|---|---|
| Taxonomy API batch size | Maximum operations per API request. | 5,000 |
| Segment code length | Maximum character length for segment codes. | 256 characters |
Segment Limits
| Feature | Description | Limit |
|---|---|---|
| Default segment lifetime | Default TTL for imported segment memberships. | 60 days |
| Minimum segment lifetime | Minimum configurable segment lifetime. | 1 day |
| Maximum segment lifetime | Maximum configurable segment lifetime. | 365 days |
FAQ
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?