Short answer: If ChatGPT Ads are not delivering, work through this order: (1) Account setup and billing, (2) Ad review status and policy, (3) Campaign and ad group configuration, (4) Budget and bid, (5) Conversion tracking. Most delivery failures have a clear cause in one of these five layers.
Troubleshooting order
Account setup and billing→Ad review status and policy→Campaign and ad group configuration→Budget and bid settings→Conversion tracking
Layer 1: Account setup and billing
| Issue | What to check | Fix |
|---|
| Account not verified | Ads Manager: account status or verification step | Complete business verification steps required by OpenAI |
| Billing not configured | Billing section: payment method added? | Add and verify a valid payment method |
| Payment failed | Billing section: error message or failed payment notice | Update payment method or resolve card issue |
| Account suspended | Ads Manager: account-level status or banner message | Review OpenAI notification for reason and next steps |
| Advertiser country not supported | OpenAI documentation: supported advertiser countries | Confirm your location is in the supported list; beta access may be limited |
Layer 2: Ad review status and policy
| Issue | What to check | Fix |
|---|
| Ads still in review | Ad status in Ads Manager: In Review / Pending | Wait for review; check for policy notification if delayed beyond 48 hours |
| Ad rejected | Ad status: Rejected; policy violation note if shown | Read the rejection reason, revise copy or landing page, resubmit |
| Disallowed category | OpenAI ad policies: allowed and disallowed categories | If category is disallowed, do not resubmit; the policy applies to the category, not just the ad |
| Landing page mismatch | Does the landing page match what the ad claims? | Update copy or landing page so the product matches the claim |
| Unverified claim in ad copy | Does copy contain superlatives or guarantees? | Remove unverifiable claims like 'best,' 'guaranteed,' or comparative statements without evidence |
Layer 3: Campaign and ad group configuration
| Issue | What to check | Fix |
|---|
| Campaign is paused | Campaign status in Ads Manager | Set campaign status to Active |
| Campaign dates not active | Start and end dates | Confirm start date is in the past and end date is in the future (or not set) |
| Geography mismatch | Campaign geography settings vs. where the business operates | Confirm targeting includes locations where the product is available |
| Ad group is paused | Ad group status | Set ad group status to Active |
| No active ads in ad group | Ad count in ad group | Ensure at least one approved ad exists per ad group |
| Context hints too narrow or vague | Context hints in ad group | Revise to describe the user situation more clearly |
Layer 4: Budget and bid
| Issue | What to check | Fix |
|---|
| Daily budget too low | Campaign daily budget vs. OpenAI minimum ($25) | Set daily budget at or above the minimum |
| Max CPC bid too low | Campaign bid vs. OpenAI starting guidance ($3–$5) | Raise to at least the recommended starting range |
| Budget exhausted early in the day | Spend pacing in Ads Manager | Increase daily budget or monitor pacing across the week |
| Campaign lifetime budget fully spent | Lifetime budget vs. total spend | Check if a lifetime budget cap has been reached |
Layer 5: Conversion tracking
| Issue | What to check | Fix |
|---|
| Pixel not installed | Is the OpenAI Pixel snippet on the landing page? | Install the Pixel on the site and confirm it fires on page load |
| Conversion event not firing | Does the conversion event fire on the correct action? | Test the event with the Pixel debugging tool or analytics debugger |
| Dynamic UTM macros used | UTM parameters in destination URLs | Replace dynamic macros with static UTM values — dynamic syntax is not supported |
| UTMs dropped in redirect | Does the landing page load with UTMs intact? | Fix redirect to preserve query parameters |
| Conversions reporting zero | Are impressions and clicks present but conversions zero? | Check Pixel, event naming, and conversion event eligibility |
| Ads Manager conversions do not match analytics | Compare Ads Manager CSV with analytics platform | Check time zones, redirect, and consent settings |
Zero-conversion checklist
- –Pixel fires on the landing page.
- –Conversion event fires on the correct user action.
- –Custom event names match exactly if used.
- –UTMs persist through any redirects.
- –Analytics platform shows ChatGPT Ads session source.
- –Landing page CTA is visible and loads correctly.
- –Landing page loads quickly on mobile.
- –At least 100 clicks have occurred before drawing conclusions.
Common mistakes
- –Concluding the platform does not work before completing account setup.
- –Not checking ad review status and assuming the problem is audience targeting.
- –Setting a budget below the platform minimum.
- –Using dynamic UTM macros instead of static values.
- –Assuming zero conversions means zero intent — it may mean broken tracking.
- –Resubmitting a rejected ad with the same content that caused the rejection.
Related ChatGPT Ads guides