> For the complete documentation index, see [llms.txt](https://docs.dinmo.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dinmo.io/integrations/destination-platforms/chatgpt-ads.md).

# ChatGPT Ads (OpenAI)

Connect DinMo to ChatGPT Ads to send conversions, export first-party audiences, and publish product feeds.

The ChatGPT Ads platform connection lets DinMo send server-side conversions, keep first-party audiences up to date, and publish a product catalog feed to OpenAI.

## Supported destination services

DinMo supports the following destination services:

* [Send conversion events](/integrations/destination-platforms/chatgpt-ads/send-conversion-events.md) for active standard and custom Event Settings linked to the configured pixel.
* [Export first-party audiences](/integrations/destination-platforms/chatgpt-ads/export-audiences.md) and keep their membership synchronized.
* [Export a product feed](/integrations/destination-platforms/chatgpt-ads/export-a-product-feed.md) as a full Google-compatible CSV snapshot over SFTP.

Each destination service receives only the credentials it needs. For audiences, DinMo normalizes raw identifiers and validates identifiers explicitly mapped as SHA-256 before delivery. For conversions, DinMo hashes raw identifiers and preserves valid SHA-256 values. DinMo also converts mapped conversion amounts to the minor units required by OpenAI.

## Prerequisites

Before connecting ChatGPT Ads, make sure you have:

* access to the relevant ad account;
* an active conversion pixel and its **Pixel ID**;
* a **Conversions API key** created for the ad account that owns the pixel;
* the **Ads API key** associated with the ad account.

An active conversion Event Setting linked to the pixel is required before you configure a conversion activation. To export a product feed, first create an SFTP feed connection in ChatGPT Ads Manager and copy its host, port, username, and password.

OpenAI describes the API resources in its [Conversions API guide](https://developers.openai.com/ads/conversions-api) and [conversion setup reference](https://developers.openai.com/ads/api-reference/conversion-setup).

### Credentials and their purpose

| Credential                        | Used by DinMo for                                                                             |
| --------------------------------- | --------------------------------------------------------------------------------------------- |
| **Conversions API key**           | Validating and sending conversion events with the configured Pixel ID.                        |
| **Ads API key**                   | Validating the ad account, loading active Event Settings, and synchronizing Custom Audiences. |
| **Product feed SFTP credentials** | Uploading a full product catalog snapshot to the feed configured in ChatGPT Ads Manager.      |

DinMo stores API keys and the SFTP password as encrypted secrets. The activation runtime receives only the credentials required by the selected destination service.

{% hint style="warning" %}
The Conversions API key and Ads API key are not interchangeable. SFTP credentials can only be used for the product feed connection that issued them.
{% endhint %}

## Connect ChatGPT Ads to DinMo

1. In DinMo, open **Destinations** and select **New destination**.
2. Select **Connect a new platform**.
3. Select **ChatGPT Ads (OpenAI)**.
4. Enter a recognizable connection name.
5. Enter the **Pixel ID** from the ChatGPT Ads Manager **Conversions** tab.
6. Paste the **Conversions API key** created for the ad account that owns the pixel.
7. Paste the **Ads API key** associated with the same ad account.
8. To use product feeds, enter the SFTP host, port, username, and password shown for the feed in ChatGPT Ads Manager.
9. Save the platform connection.

DinMo verifies that the Ads API key can access the ad account and configured pixel. It also sends a validation-only event with the Pixel ID and Conversions API key. The validation request does not record a conversion. SFTP credentials are verified when a product feed activation connects to the remote server.

After the connection succeeds, add one or more supported destination services to it. For conversion events, select an existing active Event Setting rather than entering an event name manually. DinMo does not create conversion Event Settings.

## Rotate credentials

Edit the platform connection and enter the replacement credential. Leaving a secret field unchanged preserves the current encrypted secret.

Rotating the Ads API key affects Event Setting discovery and audience synchronization. Rotating the Conversions API key affects event delivery. Replace all affected SFTP values if the feed credentials are rotated.

## Troubleshooting the connection

### The ad account cannot be loaded

Confirm that the Ads API key is active and belongs to the ad account that owns the pixel. OpenAI scopes each Ads API key to one ad account.

### Event validation fails

Confirm that the Pixel ID is accessible from the same ad account as the Conversions API key. Do not paste the Ads API key into the Conversions API key field.

### A conversion event is missing

Confirm that the Event Setting is active in ChatGPT Ads Manager, belongs to the connected ad account, and uses the configured pixel as its conversion source. Then refresh or reopen the activation configuration.

### A product feed cannot connect

Confirm that all four SFTP fields come from the same feed connection in ChatGPT Ads Manager. Check the host, port, username, and password without substituting either API key.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.dinmo.io/integrations/destination-platforms/chatgpt-ads.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
