aisearch.marketingaisearch.marketing Talk to us
aisearch.marketing field guide · ChatGPT Ads · October 2026

Setting up ChatGPT Ads for a finance business: what to do, in order

A step-by-step guide to OpenAI's ad platform for lenders, brokers and other regulated finance advertisers: eligibility, conversion tracking, ad groups, context hints, ads and how to judge the results. It is written to work whatever your landing pages, tag manager and CRM are. Everything here comes from OpenAI's own documentation and from setting up a live account in September 2026.

  1. Check you're allowed to advertise
  2. How ChatGPT Ads works
  3. Set up the account
  4. Conversion tracking (do this first)
  5. Get the landing page ready
  6. Campaign and ad group structure
  7. Write context hints
  8. Write the ads
  9. Launch, measure, decide
  10. Launch checklist

1Check you're allowed to advertise

Read this before anything else. Financial services are a restricted category. OpenAI's ad policy (openai.com/policies/ad-policies) says that in the US it may allow approved financial advertisers case by case: auto loans and leasing, credit cards, credit monitoring, deposit accounts, financial planning, insurance, investment services, mortgages, personal loans and payment services. It also says: "Ads for financial services outside the US are generally prohibited." You may be asked for proof of licensure.

2How ChatGPT Ads works

Where ads show
In the chat
below a ChatGPT answer, not in a separate feed
Who sees them
Free + Go
logged-in adults only; no Plus, Pro or Business plans
Matching
Context
the conversation, your ad, landing page and context hints. No keywords.
Auction
Relevance
relevance-weighted second price: a better ad beats a higher bid

The ad unit has your business name, logo, a title, a description, an image and a link. Advertisers never see the conversations their ads appeared in.

What you can report on: impressions, clicks, spend, click rate, cost per click and conversions, by campaign, ad group and ad. There is no search-terms report and no conversation data. You learn by changing hints and creative and watching delivery, click rate and conversions.

Targeting is country (plus state, DMA or ZIP in the US), platform (iOS, Android, web) and custom audiences. There are no demographic, interest or keyword controls.

3Set up the account

  1. The business creates the account, not its agency. OpenAI does not support agencies creating advertiser accounts for clients. The business signs up, completes identity verification (Persona), then invites the agency or consultant as a user.
  2. Choose country, currency and time zone carefully. All three are locked when the account is created. Getting one wrong means a new account.
  3. Upload the logo under Settings → Account info. Ads won't run without it.
  4. Don't submit duplicate applications while one is in review. OpenAI says it slows things down.

4Conversion tracking (do this first)

Why first: a Conversions campaign's objective and conversion event are locked when you create it. If tracking isn't working, the campaign learns from nothing, and fixing the event means a new campaign. Get a test conversion showing in Ads Manager before you build a Conversions campaign.

4.1 Create the data source

In Ads Manager → Tools → Conversions, create a web data source. You get a Pixel ID (public, goes in the browser) and can create a Conversions API key (secret, server-side only). One data source can serve every landing page you own.

4.2 Put the pixel on every landing page

Add OpenAI's setup script to the <head> of every page an ad can land on. Replace YOUR_PIXEL_ID:

<script>!function(w,d,s,u){if(w.oaiq)return;var q=function(){q.q.push(arguments)};q.q=[];w.oaiq=q;var j=d.createElement(s);j.async=1;j.src=u;var f=d.getElementsByTagName(s)[0];f.parentNode.insertBefore(j,f)}(window,document,"script","https://bzrcdn.openai.com/sdk/oaiq.min.js");oaiq("init",{pixelId:"YOUR_PIXEL_ID",debug:false});</script>

Ads Manager gives you this with debug:true. Set it to false before going live. The pixel must load on the first page the ad lands on. That is where it reads OpenAI's click ID from the URL and stores it.

4.3 Fire one event when the lead happens

oaiq("measure", "lead_created", { type: "customer_action" }, { event_id: "UNIQUE-LEAD-ID" });

4.4 Doing it in Google Tag Manager

Tag (Custom HTML)TriggerSettings
OpenAI Pixel – Base: the setup script from 4.2The earliest trigger on your landing pages (All Pages / Initialization, or your form platform's "start" event)Fire once per page
OpenAI – lead_created: the measure call from 4.3, with your lead-ID variable as event_idThe same trigger your existing Google Ads or Meta lead tag usesTag sequencing: fire OpenAI Pixel – Base first. Once per event.

If your form platform only fires its lead event for approved pages or forms, make sure the new landing page is on that list. Otherwise the tag never fires and it looks like the channel doesn't convert.

4.5 Keep OpenAI's click ID intact

4.6 Optional: send conversions from your server too

Browsers block or lose some pixel events. Sending the same conversion from your server (the Conversions API) makes measurement more reliable. Send it with the same event_id as the pixel and OpenAI keeps whichever arrives first.

POST https://bzr.openai.com/v1/events?pid=YOUR_PIXEL_ID
Authorization: Bearer YOUR_CONVERSIONS_API_KEY

{
  "events": [{
    "id": "UNIQUE-LEAD-ID",
    "type": "lead_created",
    "timestamp_ms": 1790000000000,
    "oppref": "value captured from the landing URL",
    "source_url": "https://your-landing-page",
    "action_source": "web",
    "user": {
      "obref": "value of the __obref cookie",
      "emails_sha256": ["sha256 of trimmed, lowercased email"],
      "phone_numbers_sha256": ["sha256 of digits incl. country code, no +"]
    },
    "data": { "type": "customer_action" }
  }]
}

4.7 Test before you launch

Load your landing page with ?oppref=test123 on the end and submit a test lead. In Ads Manager → Conversions → Event Stream you should see lead_created with your test ID, from the browser and (if you built 4.6) from the server. In browser DevTools you should see a request to bzr.openai.com/v1/sdk/events carrying lead_created.

5Get the landing page ready

6Campaign and ad group structure

ObjectiveBilled byUse it when
ReachImpressions (CPM)Brand awareness. Rarely right for lead generation.
ClicksClicks (CPC)Your first campaign, while you prove tracking and see what a click costs.
ConversionsStill clicks, optimised for one conversion eventOnce lead_created is arriving reliably. The event is locked at creation.

7Write context hints

Context hints sit on the ad group. They tell OpenAI what you offer, who it suits and when it's useful, so it can judge which conversations your ad is relevant to. They are the biggest lever you have.

OpenAI's own rule (help article "Write Context Hints for ChatGPT Ads"): each hint is a clear, natural phrase about one idea, covering What (feature, service, price, availability, area), Who (the need or circumstance it suits) and When (the situation or decision). Good hints are additional (beyond the ad and page), specific, relevant and accurate.

Don'tDo
Describe only the customer: "First-home buyers in Brisbane"Lead with the offer and connect it: "Mortgage broker in Brisbane comparing 30+ lenders for first-home buyers with a 5–10% deposit"
A keyword list: "home loan, mortgage, refinance, rates"One idea per phrase. OpenAI says natural phrases, "rather than a list of disconnected keywords".
A targeting instruction: "Only show to people in Sydney"A business fact: "Car finance available to buyers across New South Wales". Use the campaign's location settings for actual targeting.
Claims you can't stand behind: "Guaranteed approval"Facts that are true today, and update them when rates, fees or criteria change.

Illustrative hints for a finance business

Swap in real, accurate details. Every claim in a hint must be true of the business.

Aim for 5–10 hints per ad group, all on the same theme. If a hint needs a different page or message, it belongs in a different ad group.

8Write the ads

FieldLimitNotes
Title50 charactersAds Manager warns about truncation from about 35. Aim for 30 or fewer.
Description100 charactersMust add to the title, not repeat it.
ImagePNG or JPG, square, at least 256 × 256Simple and literal. A real person's face is worth testing against a logo.
Destination URLSpecific pageNever the homepage. Must match the ad.

9Launch, measure, decide

Set expectations before spending. OpenAI publishes no benchmark conversion rates. The only public head-to-head (Search Engine Land) measured 0.21% conversion from ChatGPT Ads against 3.71% from Google Ads for the same advertiser. One test, but it's the only direct comparison there is. Cheaper clicks that convert many times worse are more expensive leads.

10Launch checklist

#Check
1Read the current ad policy; financial services category and licensing understood
2Account created by the business; country, currency and time zone correct (locked)
3Logo uploaded
4Pixel on every landing page, debug:false
5lead_created fires once per lead with a unique event_id
6Test lead visible in Event Stream
7oppref survives redirects; not in tracking parameters
8OAI-AdsBot can load the landing page (robots.txt and firewall)
9Tracking parameters set on each ad group
105–10 offer-led context hints per ad group, all accurate
113–5 ads per ad group, different angles, compliant copy
12Objective chosen deliberately (Clicks until tracking is proven); manual max bid set
13Kill and scale rules written down, with read dates

From aisearch.marketing. We run lead generation and AI-search visibility for New Zealand businesses, including regulated finance and insurance. If you'd like a hand with any of this, talk to us.