OpenAI ads integration
| Feature | Supported |
|---|---|
| Campaign measuring | ✓ |
| Keyword measuring | N/A |
| Ad Spend measuring | ✓ |
| Automatic tracking configuration | ✓ |
| Audiences: Conversion API (CAPI) syncs | ✓ |
| Audiences: List syncs | ✓ |
OpenAI Ads are served inside ChatGPT. In Spectacle they appear under the source chatgpt, alongside organic ChatGPT traffic, with paid and organic separated by whether the visit was paid.
Connect your account
OpenAI Ads uses an Api key rather than a sign-in flow. In Ads Manager, open the Settings tab and issue an Api key, then go to your workspace's settings page and click "connect" on the OpenAI Ads integration and paste the key in.
An Api key belongs to a single ad account, so use the key for the account you want to import. If you run several ad accounts, connect each one separately.
Measure OpenAI Ads traffic
Spectacle configures your ads for tracking automatically, and re-checks them every 30 minutes so that newly created ads are covered too. Any existing url parameters you already have on your ads are kept — where one of yours conflicts with one of ours, yours wins and Spectacle records its own value under a separate key.
Unlike other ad networks, OpenAI Ads does not expand url macros: there is no placeholder the network fills in at click time. Spectacle therefore writes the campaign id, ad group id and ad id into each ad's destination url as literal values, one ad at a time.
Two kinds of ad cannot be configured automatically:
- Product feed ads take their destination url from the product feed rather than from the ad, so the parameters have to be added to the feed's url column instead.
- Ads whose destination url is already near the length limit, since OpenAI caps a destination url at 2048 characters.
Spectacle reports these to you rather than failing quietly. To add the parameters by hand, append them to the destination url, replacing each id with the campaign, ad group and ad id of the ad in question:
utm_id=<campaign id>&utm_source=chatgpt&utm_medium=paid&sp_agi=<ad group id>&sp_ai=<ad id>&sp_n=openai_ads
For a product feed ad, add them to the feed's destination url column rather than to the ad.
Measure OpenAI Ads ad spend
After connecting, Spectacle imports your OpenAI Ads spend starting from the first tracked click for this network, and then hourly. Spend is imported per ad per day, in your ad account's currency and on your ad account's calendar day.
Impressions and clicks as OpenAI reports them are imported alongside Spectacle's own attributed numbers, so the two can be compared.
OpenAI Ads has no keyword level, and publishes no impression share, quality score or auction data, so those reports are not available for this network.
Conversion syncs
Spectacle can send won deals and transactions back to OpenAI as conversions, so that OpenAI can optimise delivery against them.
Conversion measurement has to be enabled on your ad account by OpenAI before this works. If it is not, Spectacle will tell you when you set the sync up — ask your OpenAI partner representative to enable pixel management and Conversions Api key creation for the account.
OpenAI only accepts conversions that happened within the last 7 days. A conversion older than that is reported as failed rather than sent, since OpenAI would reject it.
Audience syncs
Spectacle can keep an OpenAI custom audience in step with a Spectacle audience of contacts. Company audiences are not supported, because OpenAI matches audiences on personal identifiers only.
OpenAI asks for at least 25,000 matched people before an audience can be used for targeting or bid adjustments. Smaller audiences can still be used to exclude people.
Custom audiences are not available for campaigns targeting the European Economic Area or Switzerland.
Deleting an audience sync in Spectacle archives the audience in OpenAI, which cannot be undone.