All notes
Marketing Engineering 7 September 2026 4 min read

ChatGPT Ads as a B2B pipeline channel

ChatGPT Ads hit $1B run rate in 200 days. How to wire the Pixel, Conversions API and custom audiences into HubSpot so the first B2B test is judged on pipeline.

ChatGPT Ads reached $1 billion in annualised revenue in under 200 days. OpenAI opened self-serve buying to India, Europe, the Middle East and North Africa on 31 August, dropped the minimum spend from $200,000 to zero along the way, and now says CPC and outcome-optimised bidding run the majority of campaigns. Most B2B teams I speak to are still treating it as a curiosity. This note is the setup I would run before spending the first pound, so the channel gets judged on opportunities rather than clicks.

What you are buying

An ad in ChatGPT renders inside an answer. The system matches on the subject of the current conversation, and where the user’s settings allow, on their broader chat history. Ads serve to Free and Go users and to logged-out sessions; Plus, Pro and Enterprise stay ad-free. So the buyer you reach is a junior or mid-level person researching on a personal account, or a senior person who has not paid for ChatGPT at work. Both are inside a buying committee. Neither is the economic buyer.

The campaign hierarchy is familiar. Campaign holds objective, budget and geography. Ad group holds “context hints”, which are the phrases describing the conversations you want to appear in. Ad holds title, description, image and landing URL. The auction is relevance-weighted second price, with CPM, CPC and outcome-optimised bidding available. Launch CPMs sat at $60; by spring they had fallen to $25 to $45 as self-serve widened the pool. B2B software advertisers report CTRs around 2.6% at roughly $2.60 CPC, which puts a click at LinkedIn prices with none of LinkedIn’s firmographic targeting.

That last point decides the motion. ChatGPT cannot target by company, title or industry. It targets by conversation. Your context hints do the work that a LinkedIn audience definition used to do, and your custom audience lists do the rest.

Wire measurement before the first campaign

OpenAI has shipped three pieces you need, and each has a trap.

The Pixel. Install it through Google Tag Manager; a community template exists. Automatic advanced matching is on by default and, since 17 August, on for existing pixels too. It scrapes form fields for supported identifiers, hashes them with SHA-256 in the browser and attaches them to conversion events. If your privacy review scoped those forms for HubSpot only, that transfer is new. Turn AAM off under Tools > Conversions > Data Source > Edit pixel until legal has signed it off, then turn it back on.

The Conversions API. This is where B2B lives. It accepts server-side events typed as lead_created, registration_completed, trial_started, appointment_scheduled or custom, matched on hashed email, phone, external ID, name, region and postal code. Two constraints shape the build. The timestamp_ms must fall within the last 7 days, so a fortnightly batch export from the CRM will be rejected for anything older than a week. And deduplication runs on Pixel ID plus event name plus event ID, so the event ID you generate in the browser has to travel through HubSpot and come back out on the server call.

The build that satisfies both: capture the ChatGPT campaign, ad group and ad IDs in hidden form fields using the URL macros ({campaign_id}, {ad_group_id}, {ad_id}), store them on the contact in HubSpot, then trigger an n8n workflow on the lifecycle stage change to MQL, SQL and opportunity. The workflow hashes the contact’s email, pulls the stored IDs and event ID, and posts to the Conversions API within minutes of the stage change. The same pattern already runs for Google offline conversions, which now also discard anything older than 7 days from data-driven attribution, so one workflow feeds both destinations.

Custom audiences. Upload hashed emails or phones, up to 5 million rows, as an include or exclude list. There are no lookalikes yet. Use the exclude list first: suppress current customers, open opportunities and active sequences, so spend lands on net-new accounts. Then use the include list for the motion that fits ChatGPT best, which is reaching the rest of the buying committee at accounts already in play. Export contacts at target accounts from Clay, hash them, and run a tight campaign whose context hints match the problem your champion is already solving. That turns a contextual channel into an account-based one.

Judge it on the right number

Set the pilot up so the report reads in opportunities. Three numbers matter after 60 days: cost per SQL versus LinkedIn and Google, the share of ad-driven contacts at target accounts versus off-ICP, and the off-topic placement rate. One study found 14.4% of ChatGPT ads unrelated to the user’s query, with some categories above 50%, and exclusion controls are still in a limited test. Log placement context from day one so you can see which context hints attract the wrong conversations.

If the SQL cost lands within 30% of LinkedIn and the ICP share is above half, scale the account-based version. If not, hold the spend flat and keep the measurement plumbing running. The channel changes monthly, and the team that already has CAPI and audiences wired inherits each improvement for free.

Plenty of teams ran LinkedIn this way in 2019: a brand campaign, a click count, a verdict that it was expensive, and an exit. ChatGPT is where a buyer explains their constraints and asks for a shortlist, and if you pay to be in that conversation your CRM needs to record what happened next. The wider measurement problem that sits behind this, buyers deciding inside AI answers before your stack sees a click, is covered in the attribution gap nobody’s measuring.

Part of the field guide The 2027 Demand Generation Guide →

Keep reading