# ChatGPT Ads vs Google Ads for online stores: placement, targeting, feeds, bidding and measurement

> Where each shows ads, how they match intent, what feed each needs, how bidding and billing work, and how to measure both. When to use one, the other or both.

Canonical: https://convrail.com/blog/chatgpt-ads-vs-google-ads/

ChatGPT Ads and Google Ads both charge per click or impression through an auction, but they reach shoppers differently. Google Shopping and Performance Max match your Merchant Center feed to searches across Google's properties. ChatGPT Ads shows a sponsored placement under a ChatGPT answer, matched to the conversation's context. Compare them on cost per sale and margin, not clicks.

This comparison sticks to what Google and OpenAI document. Where one platform publishes something the other does not, it says so. The goal is not to pick a winner: for most stores the useful question is how the two fit together, and how to measure them without counting the same sale twice.

## The short version

| | Google Ads (Shopping and Performance Max) | ChatGPT Ads |
| --- | --- | --- |
| Where ads appear | Shopping tab, Google Search, Images, partners; Performance Max adds YouTube, Display, Discover, Gmail and Maps | Under the end of a ChatGPT answer, marked as sponsored |
| What triggers an ad | Searches matched to your Merchant Center product attributes | The conversation's context and intent, your landing page, copy and context hints |
| Keywords | Not used for Shopping ads (product data instead) | Not used; context hints are "not exact-match keywords" |
| Product data | Merchant Center feed, Google's specification | OpenAI product feed, OpenAI's specification |
| How you pay | Cost per click for Shopping; Smart Bidding in Performance Max | Per impression or per valid click; conversion campaigns still bill per click |
| Value-based bidding | Target ROAS, Maximize conversion value | Conversion objective with a target CPA; no published ROAS target |
| Default attribution | Data-driven attribution for most conversion actions | Click window of 30 days and view window of 1 day by default |
| Who sees ads | Google users broadly | Free and Go users of ChatGPT; not Plus, Pro, Business, Enterprise or Edu |

The details behind each row follow.

## Where the ads appear

**Google.** Shopping ads show a product photo, a title, a price and the store name, according to [Google Ads Help](https://support.google.com/google-ads/answer/2454022), and can appear on the Shopping tab, on Google Search next to results, on Google Images and on Search Partner sites. [Performance Max](https://support.google.com/google-ads/answer/10724817) goes wider: it is a goal-based campaign type that accesses all Google Ads inventory, including YouTube, Display, Search, Discover, Gmail and Maps, from a single campaign.

**ChatGPT.** The [OpenAI Help Center](https://help.openai.com/en/articles/20001047-ads-in-chatgpt) describes one placement: below the end of an answer, labeled as sponsored and visually separated from ChatGPT's response. Ads can show to users on the Free and Go plans; Plus, Pro, Business, Enterprise and Edu users do not see them, and OpenAI does not show ads to accounts identified as belonging to minors.

The practical difference is the moment. A Google shopper typed a product query and is comparing results. A ChatGPT user is in a conversation, often asking for advice ("which lamp for a small bedroom?"), and the ad sits next to an answer they asked for. Neither moment is better in general; they are different, and they convert differently for different products.

## How each platform matches an ad to intent

Neither platform runs your product ads on keywords.

Google Shopping uses the product attributes in your Merchant Center feed to decide which searches your ads appear on ([Google Ads Help](https://support.google.com/google-ads/answer/2454022)). Your title, description, product type and identifiers are what the system reads. In Performance Max, [listing groups](https://support.google.com/google-ads/answer/11596074) decide which products a campaign can advertise, using attributes such as brand, item ID, condition, product type, channel and custom labels.

ChatGPT Ads weighs, per the [Help Center basics](https://help.openai.com/en/articles/20001207-ads-in-chatgpt-the-basics), the conversation's context and intent, your landing page, title and copy, the context hints set on the ad group and, when ad personalization is on, some signals from wider ChatGPT use. The [targeting documentation](https://developers.openai.com/ads/campaign-targeting) is explicit that "hints are not exact-match keywords" and allows up to 2,000 hints per ad group.

What this means for your work:

- On Google, the quality of your feed attributes is the lever. A vague title is a weak match.
- On ChatGPT, the feed still matters for product ads, but the description of the buyer's need matters too. Context hints written as situations ("warm desk lamp for studying late in a small room") describe intent better than a list of product names.

## Product data: two feeds, one catalog

Both platforms read a product feed, and both are strict about it, but they are different specifications.

Google's [product data specification](https://support.google.com/merchants/answer/7052112) requires, among others, an `id` (50 characters), a `title` (150 characters), a `description` (5,000 characters), a `link`, an `image_link`, `availability`, a `price` with its currency, a `brand` for most new products, and a `gtin` when the product has one (`mpn` otherwise).

OpenAI publishes its own [product feed specification](https://developers.openai.com/commerce/product-feeds/spec), with its own field names and value formats. For ads, the [product feed documentation](https://developers.openai.com/ads/product-feeds) describes a UTF-8 CSV file with one row per product variant, delivered over SFTP, plus a Delta API for price and availability changes between full uploads. Many fields overlap in meaning, which is why a Merchant Center export looks like a shortcut. It is a starting point, not a drop-in: field names, value formats and eligibility flags such as `is_eligible_search` differ, and a row that breaks the spec simply does not show, so validation before delivery is what tells you which product is missing and why.

The full field-by-field comparison is in [Google Shopping feed vs OpenAI product feed](/blog/google-shopping-feed-vs-openai-feed/), and the OpenAI rules with rejection examples in [the OpenAI product feed spec explained](/blog/openai-product-feed-spec-explained/). Convrail checks every product against the OpenAI specification before delivery and shows the exact fix for each refusal on the [product feed](/product-feed/) page.

## Bidding and billing

**Google.** Shopping campaigns use cost per click: you pay when someone clicks the ad, not when it is shown ([Google Ads Help](https://support.google.com/google-ads/answer/2454022)). Performance Max uses Smart Bidding, with optional ROAS or CPA targets. [Target ROAS](https://support.google.com/google-ads/answer/6268637) sets maximum CPC bids to maximize conversion value while aiming for an average return on ad spend equal to your target. A 500% target aims for $5 of conversion value per $1 of ad spend.

**ChatGPT.** ChatGPT Ads supports impression and valid-click billing through three objectives: views, clicks and conversions ([Help Center basics](https://help.openai.com/en/articles/20001207-ads-in-chatgpt-the-basics)). The conversion objective optimizes toward one tracked conversion event while you keep paying per valid click ([conversion-optimized campaigns](https://developers.openai.com/ads/conversion-optimized-campaigns)); the bid you set is a target cost per acquisition. OpenAI does not document a ROAS-target strategy. The default bid strategy for eligible new ad groups is Maximize results, which spends the budget for volume and does not guarantee a cost-efficiency target.

Two consequences:

1. **Google can optimize toward value; ChatGPT Ads optimizes toward a count.** If your products have very different prices and margins, Google's value-based bidding can weigh them; on ChatGPT Ads, you control value by choosing which products each ad group can advertise.
2. **Neither publishes average prices.** Google and OpenAI both run auctions and publish no average CPC you could compare. Any "ChatGPT is cheaper" or "dearer" claim comes from someone's own account. What it costs on ChatGPT, and how to read it, is covered in [how much ChatGPT Ads costs](/blog/chatgpt-ads-cost/).

## Measurement and attribution

Both platforms combine a browser tag with server-side data, and both hash personal data with SHA-256.

**Google.** [Enhanced conversions](https://support.google.com/google-ads/answer/9888656) send hashed first-party conversion data to supplement the tag, normalized then hashed with SHA-256. [Data-driven attribution](https://support.google.com/google-ads/answer/6394265) is the default model for most conversion actions: it spreads credit across the ad interactions that led to a conversion.

**ChatGPT.** The Measurement Pixel records browser events and captures the `oppref` click identifier from the landing URL; the [Conversions API](https://developers.openai.com/ads/conversions-api) sends confirmed orders from your server, with the same event ID so OpenAI counts each sale once. [Reporting](https://developers.openai.com/ads/reporting) uses a 30-day click window and a 1-day view window by default, and exposes `order_created_attributed_sales` and `order_created_roas` from the purchase amounts you send.

The trap is adding the two reports together. Each platform reports what it attributes to its own ads, with its own model and windows. A shopper who clicked a Google Shopping ad on Monday and a ChatGPT ad on Wednesday can appear in both reports for the same order. Summing them overstates revenue and makes both channels look better than they are.

The way out is to attribute each paid order once, from your store's own data. For ChatGPT, that means telling ads orders (an `oppref` on the landing URL) from organic ChatGPT visits (a ChatGPT referrer or UTM), as explained in [ChatGPT organic vs ChatGPT Ads](/blog/chatgpt-organic-vs-ads-attribution/). Convrail's [attribution](/attribution/) does this for every paid order and shows ROAS and net margin per product next to it.

## When to use which

| Situation | Reasonable starting point |
| --- | --- |
| You already run Google Shopping profitably | Keep it; test ChatGPT Ads with a small daily budget on your best-margin products |
| Your products need explanation or advice to sell | ChatGPT Ads deserves a test: the ad sits next to an answer to a question |
| Your catalog is large and prices vary widely | Google's value-based bidding helps; on ChatGPT, segment products into ad groups by margin |
| You sell mainly outside the countries where ChatGPT Ads is open | Google first; check OpenAI's [Ads Manager availability](https://help.openai.com/en/articles/20001245-ads-manager-availability) page |
| Your ChatGPT tracking is not in place yet | Fix tracking before any ChatGPT spend; a conversion campaign needs a tracked purchase event |
| You want reach on video and display | Performance Max covers YouTube and Display; ChatGPT Ads has no equivalent placement |

Using both is the common case. The discipline that makes it work is the same on both sides: a clean feed, server-side conversion tracking, and one attribution of each order that you trust more than either platform's report.

## A fair test, step by step

1. **Pick the products.** Choose a set with healthy margins and enough sales history to compare.
2. **Validate the OpenAI feed.** Refused rows never show, so a test on a broken feed measures nothing.
3. **Put tracking in place.** Pixel plus Conversions API, one event ID per order, purchases in minor units. [How to advertise on ChatGPT](/blog/how-to-advertise-on-chatgpt/) walks through setup.
4. **Fix a budget and a duration.** A daily budget you can afford to lose, for at least three to four weeks.
5. **Measure on your orders.** Revenue, cost per sale and net margin per product, per channel, with each order counted once.
6. **Decide per product.** Keep each channel where it earns; move budget where the margin is.

The measurement side of step 5 is detailed in [measuring ChatGPT Ads ROAS](/blog/chatgpt-ads-roas/).

## Summary

Google Ads and ChatGPT Ads are both auctions fed by your product data and your conversion tracking. They differ in where the ad appears, what signals match it, which feed they read and how their bidding treats value. They do not differ in what decides whether they are worth it: cost per sale and margin, measured from your own orders, with each sale counted once. Plans and the free tier of Convrail are on the [pricing page](/pricing/).