Conversion tracking connects a completed action on your website, app or server with a ChatGPT ad interaction when OpenAI has the required event and matching signals. Create a data source in Ads Manager, choose the action you want to measure, then send that event with the OpenAI Pixel, the Conversions API (CAPI), or both. An event arriving does not by itself guarantee that Ads Manager will attribute it to a campaign.
How attribution works
OpenAI can report a conversion when the data source is connected to your ad account, the event matches a conversion configured for the campaign, it happens within the selected attribution window, and available signals connect it to an eligible ad interaction. The click reference called oppref can help connect a later action to an ad click.
The Pixel can capture oppref from an ad landing URL and reuse it for later browser events. A server integration must capture and pass the original oppref value when it is available; CAPI does not collect it for you. Keep query parameters intact through redirects and checkout. UTMs serve a different purpose: they label visits in your own analytics. Do not treat a UTM as a substitute for the OpenAI click reference.
Choose the event that represents real value
For an online store, send order_created only after an order is actually created. For a service business, pick the supported event that best reflects a meaningful step, such as a completed registration or lead. A landing-page view is not a purchase or a qualified enquiry. Decide how your team defines a valid conversion before choosing campaign optimization settings.
For a Pakistan business, map the event to the action that matters: a paid or confirmed order, a qualified quote request, a booked consultation, or a sales enquiry received by phone or WhatsApp. Record what counts as completed in your store or CRM. If you report revenue, confirm that the amount, currency (such as PKR), order ID and refunds or cancellations are handled consistently in your business records and in the supported event schema.
Pixel, CAPI or both?
The OpenAI Pixel sends events from a visitor’s browser. CAPI sends them from your server or a connected system. Use the Pixel when the action can be captured reliably in the browser. Consider CAPI when your server, payment system or CRM is the authoritative source—for example, when a lead is qualified later or an order is confirmed after checkout.
You can use both for the same action, but configure deduplication. Use the same Pixel ID, event name and event identifier for both copies: Pixel event_id must match CAPI id. Create a unique ID for each real action and reuse it only when retrying that same event. CAPI still uses a Pixel ID even if you do not install the browser Pixel. Keep API keys and server requests on the server; never expose them in page code.
Follow OpenAI’s current Pixel and CAPI documentation for required fields, validation, hashing and consent controls. Do not collect or send customer information unless your consent setup and applicable privacy obligations allow it.
Test before you judge campaign results
- Create the data source in Ads Manager and connect it to the right account.
- Confirm that the Pixel or server integration sends the intended event after a real test action.
- Check the event name, Pixel ID, timestamp, page or source URL, value and currency where applicable.
- If both Pixel and CAPI send an action, verify the shared event ID and check for duplicate tags or integrations.
- Test the full journey, including redirects, checkout, embedded forms and CRM callbacks—not only the landing page.
- Review event quality and campaign event settings before launching or optimizing.
A browser tag-manager message saying “fired” does not prove that a request reached the data source. Check the browser network request or server response and use the documented debug or validation tools. Consent choices, browser restrictions, security rules and third-party checkout pages can interrupt the event.
Read the report carefully
Allow 24–48 hours for attributed conversions to appear; recent totals can still change while events process. Ads Manager reports conversions attributed under its selected windows and settings, not every sale or lead in your CRM. Compare the same account, event, date range, time zone, attribution window and date basis. Click-through and eligible view-through settings can change totals.
Order Created Sales and Order Created ROAS are based only on attributed order_created events. Other standard or custom events do not feed those two order columns. Keep a separate business record for all orders and leads, then compare it with Ads Manager using matching definitions.
If the number remains zero, trace one completed action in order: Was an event request sent? Did it reach the connected data source? Does its name match the campaign setup? Was it inside the attribution window? Could the available signals connect it to an eligible ad interaction? This narrows the issue before you reinstall tags or add another integration.
Quick answers
What is oppref?
It is an OpenAI-provided click reference that can help connect a later conversion to an ad click. The Pixel can capture it; a server integration should preserve and pass it when available.
Do I need both the Pixel and CAPI?
No. Choose the integration that can reliably record the action. If both send the same action, use the documented shared identifiers for deduplication.
Why do Ads Manager and my CRM show different totals?
Your CRM may count every completed action, while Ads Manager counts only events that match campaign configuration and can be attributed within its selected reporting windows.
Why is an event firing but no conversion is reported?
Check that it reaches the connected data source, uses the configured event name, falls within the attribution window and can be matched to an eligible ad interaction. Also review consent, blockers, deduplication and reporting delay.
How should a Pakistan store measure orders?
Send the supported order event only after the order is created, and reconcile its ID, value and PKR currency with the store. Confirm the exact current event schema in OpenAI’s documentation.