> ## Documentation Index
> Fetch the complete documentation index at: https://docs.narrative.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Connectors

> Reference documentation for Narrative connectors and destination platforms

Connectors enable you to deliver data from Narrative to external platforms. Each connector is a pre-built integration that handles authentication, data formatting, and delivery to a specific destination.

## Available connectors

### Advertising platforms

<CardGroup cols={2}>
  <Card title="The Trade Desk" icon="bullhorn" href="/reference/connectors/the-trade-desk">
    Deliver audiences to TTD's first-party or third-party marketplace with automatic UID2 generation
  </Card>

  <Card title="Meta Custom Audiences" icon="meta" href="/reference/connectors/meta">
    Push custom audiences to Facebook and Instagram advertising
  </Card>

  <Card title="Meta Conversions API" icon="meta" href="/reference/connectors/meta-conversions-api">
    Send conversion events for ad attribution and campaign optimization
  </Card>

  <Card title="Google Ads" icon="google" href="/reference/connectors/google-ads">
    Deliver Customer Match audiences to Google Ads
  </Card>

  <Card title="Google DV360" icon="google" href="/reference/connectors/google-dv360">
    Activate audiences in Google Display & Video 360
  </Card>

  <Card title="TikTok" icon="tiktok" href="/reference/connectors/tiktok">
    Deliver custom audiences to TikTok Ads Manager
  </Card>

  <Card title="Snapchat" icon="snapchat" href="/reference/connectors/snapchat">
    Deliver custom audiences to Snapchat Ads Manager
  </Card>

  <Card title="Yahoo DSP" icon="y" href="/reference/connectors/yahoo-dsp">
    Activate audiences in Yahoo's demand-side platform
  </Card>

  <Card title="Pinterest" icon="pinterest" href="/reference/connectors/pinterest">
    Deliver custom audiences to Pinterest for ad targeting
  </Card>

  <Card title="Magnite" icon="chart-line" href="/reference/connectors/magnite">
    Deliver audience segments to Magnite's SSP
  </Card>

  <Card title="PubMatic" icon="rectangle-ad" href="/reference/connectors/pubmatic">
    Deliver audience segments to PubMatic for programmatic advertising
  </Card>
</CardGroup>

### AI/ML

<CardGroup cols={2}>
  <Card title="Hugging Face" icon="brain-circuit" href="/reference/connectors/hugging-face">
    Export trained AI models to Hugging Face Hub
  </Card>
</CardGroup>

### Cloud storage

<CardGroup cols={2}>
  <Card title="Amazon S3" icon="aws" href="/reference/connectors/amazon-s3">
    Deliver data files to your Amazon S3 bucket
  </Card>
</CardGroup>

***

## Connector interfaces

A connector is installed as an app (identified by an `app_id`). Each app exposes one or more **interfaces** (each identified by an `interface_id`); a dataset connects to a specific `(app_id, interface_id)` pair, not to the connector as a whole. Some connectors appear more than once in [Available connectors](#available-connectors) above because a single app exposes several interfaces — Meta Custom Audiences and Meta Conversions API are two interfaces of one installed Meta app, each with its own collaboration policy.

Each interface defines:

| Component              | Description                                                                                                                                                                                                                                                                   |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Collaboration policies | Zero, one, or several JSON-Schema policies over dataset schemas that determine which datasets the interface accepts; the **Supported identifiers** on each connector page are the human-readable form. With none, the interface accepts any dataset — Amazon S3, for example. |
| Metadata               | Tags that determine where the interface is offered (Audience Studio shows only interfaces tagged `audience_delivery`), and an optional refresh window whose `max` bounds how stale the source dataset may get.                                                                |
| Quick-settings schema  | JSON Schema for the connector-specific `quick_settings` you supply when creating a connection.                                                                                                                                                                                |

Before creating a connection, check which interfaces accept a dataset's schema; an accepted `(app_id, interface_id)` pair is one a connection will succeed against. See [Connector Interfaces](/concepts/data-activation/connector-interfaces) for the concept and the [connection creation flow](/reference/integrations/mcp-server#connection-creation-flow) for the API calls.

***

## Connector requirements

Most connectors match users on identifiers, enforced by the interface's collaboration policy. The requirements are listed on each connector's own page under **Supported identifiers** — open a connector from [Available connectors](#available-connectors) above for its exact table. Three connectors work differently:

| Connector            | Requirement                                          |
| -------------------- | ---------------------------------------------------- |
| Amazon S3            | None — any schema; files are delivered as-is         |
| Hugging Face         | None — delivers models, not audience records         |
| Meta Conversions API | Data mapped to the `meta_conversion_event` attribute |

<Note>
  For identifier formatting requirements, see [Hashing PII for Upload](/guides/ingestion/hashing-pii).
</Note>

<Warning>
  Connectors cannot be attached to [view datasets](/concepts/nql/materialized-views#view-datasets). If you need to deliver query results to an external platform, use a materialized view instead.
</Warning>

***

## Common workflows

### Delivering first-party data

Push your own customer data to platforms for targeting:

1. [Prepare your data](/guides/ingestion/hashing-pii) with hashed identifiers
2. [Upload to a dataset](/guides/sdk/uploading-data)
3. [Map to Rosetta Stone](/guides/rosetta-stone/mapping-schemas) attributes
4. Configure and deliver through the connector

### Delivering acquired data

Activate third-party data purchased through Narrative:

1. Query data from data collaborators using NQL
2. Materialize results into a dataset
3. Deliver through the appropriate connector

***

## Related content

<CardGroup cols={2}>
  <Card title="Data Activation Overview" icon="bullseye-arrow" href="/concepts/data-activation/overview">
    Understand how connectors fit into the activation workflow
  </Card>

  <Card title="Structuring Audiences" icon="sitemap" href="/guides/activation/audience-strategies">
    Organize your data for efficient delivery
  </Card>

  <Card title="Rosetta Stone Mapping" icon="diagram-project" href="/guides/rosetta-stone/mapping-schemas">
    Map your schema for connector compatibility
  </Card>

  <Card title="Schema Incompatibility Errors" icon="plug-circle-exclamation" href="/reference/errors/dataset-schema-connector-incompatible">
    Resolve HTTP 400 errors when a dataset schema doesn't match a connector
  </Card>
</CardGroup>
