Guide

Ads in ChatGPT for service businesses: leads, appointments and trials

Published · Updated · Based on the OpenAI Ads API documentation

A bike repair shop, an agency, a software company or an accountant has no product feed to upload, and that is fine. Ads in ChatGPT work for services through chat cards, lead conversion events and a feedback loop from your CRM or booking tool. This guide explains the setup and what Adsonomy does with it.

Updated 16 September 2026
  • OpenAI launched a HubSpot integration: create ads, track performance and follow up on leads inside HubSpot.
  • Ads Manager conversion columns can use a 7, 14 or 30-day click window and a 0 or 1-day view window; in the Ads API the click window is set on each conversion event and insights requests take no window parameter.
  • How lead events reach Adsonomy today, and which CRM connectors are still planned, is now stated plainly.
Key takeaways
  • Optimise towards lead_created when volume is low: a campaign with two appointments a week has too little signal to bid on appointments.
  • Fit the pitch into one sentence: the chat card body is capped at 100 characters and the title at 50.
  • Send CRM stage changes back as standard events, so the manager can tell cheap leads from qualified ones.
  • Point ads at a page OpenAI can crawl: gated pages, logins and content behind a cookie banner click are common reasons for rejection.
  • Write hints from your service pages, pricing and FAQ; an ad group holds up to 2,000 and they are the only lever on relevance.
Key facts
  • Service campaigns optimise towards lead events: lead_created, appointment_scheduled, trial_started, subscription_created and registration_completed.
  • Events reach OpenAI through the pixel and the Conversions API, deduplicated by event ID, with personal data hashed.
  • Creative is the chat card: title 3 to 50 characters, body up to 100, image at least 640 by 640, destination reachable by OpenAI's crawler.
  • Context hints, up to 2,000 per ad group, are written from your service pages, pricing and FAQ.
  • Adsonomy takes lead and stage events from your backend or CRM through its Ingest API; native connectors for HubSpot, Pipedrive, Salesforce, Calendly and Stripe are planned. OpenAI offers its own HubSpot integration.
  • Conversions API keys are enabled per account by OpenAI.

Can a service business advertise in ChatGPT?

Yes. The OpenAI Ads platform is not limited to shops. A campaign can optimise towards lead events instead of orders, and the chat card format needs only a title, a short body, an image and a landing page. What changes for a service business is the conversion setup and the source of the targeting hints.

People ask ChatGPT for a bike mechanic who can fix skipping gears the same day, an accountant for a freelancer in Rotterdam, or a tool to send invoices. Those conversations are where a service ad appears, matched by the context hints on your ad group. Read how ads in ChatGPT work for the platform mechanics; this guide covers what is specific to leads.

OpenAI publishes advertising policies that prohibit some categories and place others under additional review. Read them before planning a campaign in a regulated sector.

Which conversion events matter for leads?

Five of the platform's fourteen standard events describe a service funnel: lead_created when a form or chat produces a contact, appointment_scheduled when a booking is made, trial_started when someone activates a trial, subscription_created when a paid plan starts, and registration_completed when an account is opened. Only standard events can be set as an optimisation goal, so these are the events a campaign bids towards.

Each event needs an event ID so that the same lead sent from the browser and from the server is counted once, and a timestamp within the last seven days. A customer email or phone number in the event is normalised and hashed with SHA-256 before it is sent. In the Ads API the click window is set on each conversion event (attribution_window_days, no default stated), and insights requests take no window parameter. Since 16 September 2026 Ads Manager conversion columns can show a 7, 14 or 30-day click window, which matters for service funnels where the booking happens days after the click, and a 0 or 1-day view window.

Which event to optimise towards depends on volume. Conversion bidding needs a steady flow of the chosen event; a campaign that gets two appointments a week has too little signal, so it optimises towards lead_created and lets the CRM loop below tell the manager which leads were worth having.

How does the CRM feedback loop work?

Today through Adsonomy's Ingest API. Your backend, or a webhook from your CRM or booking tool, posts the lead or stage change with a key you create in Adsonomy, and Adsonomy sends the matching standard event to the Conversions API, hashed and deduplicated. A booking can become appointment_scheduled, a paid plan subscription_created, and a qualified deal the event you choose for that stage. Native connectors for HubSpot, Pipedrive, Salesforce, Calendly and Stripe are planned.

OpenAI announced its own HubSpot integration on 16 September 2026: businesses using HubSpot can connect a ChatGPT Ads account, create ads, track performance and follow up on leads directly in HubSpot. If your team lives in HubSpot, that is a natural place to start; Adsonomy adds a daily brief, rules, guardrails and a shadow mode on top of the same ad account.

The platform itself only knows the events it receives; it reports conversions, cost per conversion and post-click conversion rate. Sending a qualified stage as its own event is what shows that one ad group produces cheap leads that never qualify while another produces fewer, better ones. That is the difference between optimising towards form fills and optimising towards revenue.

Attribution from ad to CRM record works through the tracking template. OpenAI lets you append a query string to landing page URLs at account, campaign, ad group or ad level, with placeholders for the campaign, ad group, ad and ad account IDs, and the platform adds its own click reference, oppref. Adsonomy can set the template on a campaign; your website or CRM keeps the parameters with the lead so a later stage change can be sent back against the right click. Events carry a timestamp within seven days, so a stage change that happens later is sent with the time of the change rather than the time of the click.

What do the ads look like for a service?

A chat card, and only a chat card. Product ads require a feed, which a service has no use for. A chat card has a title of 3 to 50 characters, a body of up to 100 characters, a JPEG, PNG or WebP image of at least 640 by 640 pixels, and a destination URL of up to 2,048 characters that OpenAI's crawler can reach.

The constraint is the body: 100 characters is one sentence. The best cards state the outcome and the proof, for example the service, the area and one concrete reassurance such as a same-week appointment or a fixed price. Every card passes review, and editing it sends it back into review, so write the copy carefully before the ad goes live. Adsonomy's campaign wizard suggests copy within these limits and creates the ad paused, so you can check it first.

The destination must be a page OpenAI can crawl. Gated pages, pages behind a login and pages that require a cookie banner click before the content loads are common reasons for rejection.

Where do the context hints come from?

From your service pages, your pricing page and your FAQ. Adsonomy connects your website by sitemap or crawl, whatever it runs on, and reads the pages that describe what you do, for whom, where and at what price. It suggests hints from a page you pick.

A context hint describes an intent rather than a search term. A bike repair shop might carry hints for gears that keep skipping, a puncture before a long ride, or a same-day repair on a Saturday. An accounting firm might carry hints for filing a first VAT return, or moving from a sole proprietorship to a limited company. An ad group can hold up to 2,000 of them.

Because the platform reports no prompt data, the hints are the only lever you have on relevance. Writing them from real pages, real reviews and real questions from your inbox is what separates a service campaign that converts from one that just spends. In the Control edition you edit the hints yourself; in Autopilot Nomy proposes new hints, and you set whether it may add them on its own or only suggest them, as described in the guardrails guide.

Frequently asked questions

Do I need a pixel if I have a CRM?

You need both. The pixel captures the browser reference on the landing page and the first events such as a form view. Your server or CRM sends the lead, appointment, trial or subscription event through the Conversions API once it exists; with Adsonomy, through its Ingest API. The event ID and the browser reference tie the two together so the platform counts each lead once.

What if my leads take weeks to close?

Optimise towards an earlier standard event that happens often, usually lead_created or appointment_scheduled, and send the later stages as their own events to see which of those leads became customers. Events must be sent with a timestamp within seven days, so send each stage change as it happens rather than waiting for the deal to close.

Can I run a service campaign without a CRM?

Yes. The pixel fires lead_created when a form is submitted or a booking is made on your website, with the event code Adsonomy generates for your site. You lose the qualification signal, so the campaign optimises towards lead volume and cost per lead until later stages are sent as well.

Adsonomy runs ads inside ChatGPT for shops and service businesses. Control edition: you run it with rules. Autopilot: Nomy runs it inside your guardrails. Free until 15 October 2026, then plans from EUR 49 a month.

Start free