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

# Create Custom Audience

> Create an OpenAI Ads custom audience from a customer CSV/TXT file or start empty

Create an OpenAI Ads custom audience from a customer CSV/TXT file or start empty. Preparation is asynchronous; retrieve the audience before using it. Custom-audience targeting is unavailable in the EEA and Switzerland. If a create response is lost, list audiences before retrying.

| | |
| - | - |
| **App** | OpenAI Ads |
| **Operation ID** | `openai_ads_create_custom_audience` |
| **Type** | Action |
| **Connection** | `openai_ads` (required) |
| **Credits per run** | 1 |
| **Agent / MCP tool** | Yes |

## Inputs

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `file_url` | string | No | - | UTF-8 CSV/TXT customer list, up to 500,000,000 bytes. CSV requires identifier headers: email, phone\_number, email\_sha256, phone\_number\_sha256, or gaid; TXT is one identifier per line without a header. Accepts direct URLs, Google Drive share links with sharing set to 'Anyone with the link', or files uploaded through Markifact. Uploaded automatically. Use this or file\_id, not both. |
| `file_id` | string | No | - | Previously uploaded custom-audience file ID. Use promptly. For create, also supply filename, mimetype, and file\_size. Use this or file\_url, not both. |
| `filename` | string | No | - | Original .csv or .txt filename. Required with file\_id on create; optional override with file\_url, useful for Drive links. |
| `mimetype` | string | No | - | File MIME type, normally text/csv or text/plain. Required with file\_id on create; detected for file\_url. |
| `file_size` | integer | No | - | Exact uploaded file size in bytes. Required with file\_id on create; measured automatically for file\_url. |
| `identifier_type` | enum (`email`, `phone`, `email_sha256`, `phone_number_sha256`, `gaid`) | No | - | Single-column file type: email (API default), phone, email\_sha256, phone\_number\_sha256, or gaid. Phones use E.164 including +. For SHA-256, hash UTF-8 with no trailing newline: trim/lowercase emails, or normalize phones to E.164; send hexadecimal, not Base64. Do not strip email dots/plus tags. GAIDs must be raw, not hashed. |
| `identifier_resolution` | enum (`auto`) | No | - | Use auto for a CSV containing multiple identifier columns. Omit for a single identifier type or an empty audience. |
| `name` | string | Yes | - | Name of the new custom audience. |
| `description` | string | No | - | Audience description. |

## Output

**Type**: `Dict`

Native OpenAI Ads audience or membership-operation response. Membership status processing is not completion; retain returned IDs for follow-up.

**Fields**: dynamic (depend on the inputs)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.