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.
On this page- What you need
- Create an API key in OpenAI Ads
- Create the conversions API key and find pixel ID
- 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
WARNING: Before setting up the OpenAI Ads integration, please ensure you have upgraded your ProfitMetrics plugin or module to the latest version. Older versions may not support OpenAI Ads, and prevent us sending event data. You can find a guide to updating your Shopify app here, and the latest versions of our other integrations can be found here.
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 | Imports ad spend. Created under Settings > General in Ads Manager. |
| A Conversions API key | Sends conversions back to OpenAI. A different key, created under Tools > Conversions. Only needed for Conversion Booster. |
| A Pixel ID | Identifies which data source the conversions belong to. Also found under Tools > Conversions. Only needed for Conversion Booster. |
| A working ProfitMetrics setup | Orders and profit data must already be tracking, otherwise Conversion Booster has nothing to send. |
Create the Ads API key
A full setup uses two different keys from OpenAI: this one, which lets ProfitMetrics read your ad spend, and a Conversions API key, covered in the next section. They are created in different places and are not interchangeable.
- Sign in to OpenAI Ads Manager at ads.openai.com.
- In the left menu, open Settings and choose General.
- Scroll down to the API Keys section and click Create New Key.
- Give it a name that says where it is used, such as "ProfitMetrics".
- Copy the key. You paste it into ProfitMetrics in the next step.
CAUTION: OpenAI shows a key once, at the moment you create it. Navigate away without copying it and you cannot retrieve it — you have to delete it and create another. This applies to both keys in this article.
Each key works for one ad account only. If you advertise from several OpenAI ad accounts, create a separate key in each one and add each as its own integration in ProfitMetrics.
Create the Conversions API key and find the Pixel ID
Conversion Booster needs two more values, and neither of them is on the settings page. Both live under the Conversions tool. Skip this section if you are only importing ad spend.
- In the left menu of Ads Manager, open Tools and choose Conversions.
- On the Data Source tab, find the data source for the website you are tracking and copy its Pixel ID from the row.
- Click the key icon at the top right of the page and choose Conversion keys.
- Create a key there, name it so you can recognise it later, and copy the value. This is the Conversion API key ProfitMetrics asks for.
Keep the Pixel ID and the Conversions API key together — both get pasted into the same screen later in the Conversion Booster wizard.
NOTE: The Manage conversion keys button at the bottom of the API Keys section in Settings > General opens the same conversion keys screen in a new tab, if you are already there.
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.