How to set up the OpenAI Ads integration
How to connect an OpenAI Ads account to ProfitMetrics, import ad spend, and switch on Conversion Booster for OpenAI.
The OpenAI Ads integration does two separate jobs. First it imports your OpenAI ad spend, so campaign costs appear alongside your profit data in ProfitMetrics. Second, Conversion Booster sends order values back to OpenAI, so campaigns can bid on revenue or gross profit rather than order counts. Setup runs as two wizards: a two-step wizard for ad spend, then an optional four-step wizard for Conversion Booster.
On this page- What you need
- Create an API key in OpenAI Ads
- Step 1: Add ad account
- Step 2: Configure Ad spend
- The integration settings page
- Conversion Booster: choose a configuration
- Conversion Booster: choose the content ID
- Conversion Booster: connect the conversion account
- Conversion Booster: choose conversion events
- Troubleshooting
What you need
Collect these before you start. The wizard will not let you past a step with a missing credential.
| Item | Why it is needed |
|---|---|
| OpenAI Ads Manager access | You sign in at ads.openai.com to create the keys. You need permission to manage settings on the ad account. |
| An Ads API key | Used to import ad spend. Created in the Ads Manager settings — see the next section. |
| A Conversions API key and Pixel ID | Only needed for Conversion Booster. Both come from the Conversions area of Ads Manager, not from the settings page. |
| A working ProfitMetrics setup | Orders and profit data must already be tracking, otherwise Conversion Booster has nothing to send. |
Create an API key in OpenAI Ads
The key is created on the OpenAI side, before you open ProfitMetrics.
- Sign in to OpenAI Ads Manager at ads.openai.com.
- Open Settings, then the API keys tab.
- Click Create new key and give it a name that identifies where it is used, such as "ProfitMetrics".
- Copy the key straight away and paste it into ProfitMetrics, or store it somewhere safe in the meantime.
CAUTION: OpenAI shows the key once, at the moment you create it. If you navigate away without copying it, you cannot retrieve it later — you have to create another key.
Step 1: Add ad account
In ProfitMetrics, go to Connections > Integrations and choose OpenAI Ads. The first screen asks for the key you just created.
Paste the key into the API key field and click Next. The eye icon at the end of the field reveals the value if you want to check it against what you copied. Next stays greyed out until the field contains a key.
Step 2: Configure Ad spend
This step decides how much of the account's spend ProfitMetrics imports. Most accounts want everything, in which case both fields stay empty.
| Field | What it does |
|---|---|
| Filter adgroup name | Imports spend only from ad groups whose name matches what you enter. Leave empty to import every ad group. |
| Filter campaign name | Imports spend only from campaigns whose name matches what you enter. Leave empty to import every campaign. |
Use the filters when one OpenAI ad account covers more than one shop, and only part of the spend belongs to this ProfitMetrics account. Click Finish Setup to save. Previous step takes you back to the API key if you need to change it.
NOTE: A filter excludes everything that does not match it, so a typo here looks identical to an account with no spend at all. If spend is missing later, check these two fields first.
The integration settings page
Once the wizard finishes, the connection is live and spend starts syncing. The same page becomes the settings page for the integration, and it is where Conversion Booster is started.
| Setting | What it does |
|---|---|
| Enable Adspend | Turns the spend import on and off without deleting the connection. |
| Connected account | Shows the connected account. Use Edit API key to swap in a new key when the old one is replaced. |
| Filter adgroup name | The filter from step 2. A dash means no filter is set, so everything is imported. Use Edit to change it. |
| Filter campaign name | As above, for campaigns. |
The Conversion Booster panel sits below these settings. Click Start setup to run the second wizard, covered in the next four sections. If you only want spend in your reporting, you can stop here.
CAUTION: Delete integration removes the whole connection, including the Conversion Booster configuration, and there is no undo — you rebuild it from scratch. To pause spend import temporarily, switch off Enable Adspend instead.
Conversion Booster: choose a configuration
Conversion Booster sends conversions to OpenAI with ProfitMetrics values attached, so the campaigns can optimise on revenue or gross profit. The first step chooses which conversion events get created.
Standard Configuration is the recommended option and is selected by default. It creates eight ProfitMetrics custom events and leaves your existing OpenAI events alone.
| Revenue events | Gross profit events |
|---|---|
| PM Revenue | PM Gross Profit |
| PM Revenue - New customers | PM Gross Profit - New customers |
| PM Revenue - New customers LTV (28 days) | PM Gross Profit - New customers LTV (28 days) |
| PM Revenue - Returning customers | PM Gross Profit - Returning customers |
Custom Configuration takes over the standard events as well, and lets you pick individual custom events instead of creating the full set. Choose it only when you have a reason to — for example when OpenAI campaigns are already optimising against an existing event that you want ProfitMetrics values to flow into. Click Next when you have made your choice.
Conversion Booster: choose the content ID
Conversion events carry product identifiers so OpenAI can tie an order back to the products in your feed. This step decides which identifier gets sent.
The Content ID dropdown has two options, and the table underneath shows real products from your shop with both values side by side, so you can see which one matches your feed before you commit.
| Option | Use it when |
|---|---|
| Product ID | Your product feed uses the shop platform's own product IDs, such as 13644491. |
| External SKU | Your feed uses your own SKU codes, such as 1-4, typically set by an ERP or feed tool. |
Compare the values in the table against the item IDs in the feed you use in OpenAI, pick the one that matches, then click Next.
NOTE: Pick the wrong one and conversions still arrive, but OpenAI cannot match them to products, so product-level reporting and feed-based campaigns stop working properly.
Conversion Booster: connect the conversion account
Sending conversions needs its own credentials, separate from the key that imports spend.
| Field | Where it comes from |
|---|---|
| Conversion API key | Created in the Conversions area of OpenAI Ads Manager, from the pixel that tracks your website. Like the first key, it is shown once. |
| Pixel ID | Copied from the same pixel in the Conversions area. It tells OpenAI which destination the conversions belong to. |
Both values are stored securely and used only for this conversion configuration. Fill in both, then click Next.
NOTE: The Ads API key from the first wizard will not work here. If the key you are pasting came from Settings rather than the Conversions area, it is the wrong one.
Conversion Booster: choose conversion events
The last step controls what else gets sent alongside orders, and how the values are prepared before they leave ProfitMetrics.
Micro Conversions is off by default. Switch it on to also send smaller interactions such as page views and add to cart, which gives OpenAI more signals to optimise against. It is most useful on shops with low order volume, where purchases alone are too sparse for the campaigns to learn from.
The Advanced Settings below control how the order values are prepared.
| Setting | What it does |
|---|---|
| Outbound currency | The currency the values are sent in. Defaults to the currency configured on the website. Set it to match the currency your OpenAI ad account reports in, otherwise the numbers in Ads Manager will look wrong. |
| Enable first-party data | Includes the customer identifiers ProfitMetrics holds for the order, which helps OpenAI match more conversions to the ads that caused them. On by default. |
| Include Tax / VAT in revenue | Sends revenue with tax and VAT included. On by default. Switch it off to send ex-VAT values, and keep it consistent with how your other ad platforms are configured. |
Click Finish Setup to save. Conversions start flowing from the next orders — historical orders are not sent retrospectively, so give it a day or two of trading before judging the numbers.
Troubleshooting
| Symptom | Check |
|---|---|
| No ad spend appears after setup | Confirm Enable Adspend is on, then check both filter fields — a value that matches nothing imports nothing. Spend also takes a short while to appear after the first sync. |
| Some ad spend missing | Almost always the campaign or ad group filter. Clear it to import everything. |
| The key is rejected | Check it was copied whole, with no leading or trailing space, and that it belongs to the ad account you are connecting. Keys are tied to a single ad account. |
| You lost the key before pasting it | Create a new one in Ads Manager and add it with Edit API key on the integration page. Do not delete the integration to start over. |
| No conversions arriving in OpenAI | Check the Pixel ID is the one for the website you are tracking, and that orders are being registered in ProfitMetrics in the first place. |
| Conversions arrive but products do not match | The Content ID does not match the feed. Run the Conversion Booster setup again and pick the other option. |
| Conversion values look too high or too low | Check Outbound currency against the ad account's currency, and Include Tax / VAT in revenue against how your other platforms are set. |
If none of the above explains it, contact support@profitmetrics.io with the name of the ad account and roughly when you set the integration up.