Skip to content

Documentation

Set up ChatGPT Ads tracking on WooCommerce

Installation, credentials, event behaviour, consent, diagnostics and licensing — in the order you will need them.

Installation

  1. 1Download the plugin ZIP from your purchase confirmation.
  2. 2In WordPress, go to Plugins → Add New → Upload Plugin, select the ZIP and install it.
  3. 3Activate the plugin.
  4. 4Open the Licence tab, paste your licence key and activate it.

An active licence is required before conversion events are sent. The licence screen shows the plan, remaining activations and the date the licence runs to.

Requirements

  • A WordPress site with WooCommerce installed and active.
  • The store served over HTTPS.
  • Outbound HTTPS requests allowed from your server, so purchase events can reach the Conversions API.
  • An OpenAI Pixel ID for browser measurement.
  • An OpenAI Conversions API key for server-side purchase events.
  • A Pixel for ChatGPT Ads licence key.

WooCommerce High-Performance Order Storage and legacy post-based order storage are both supported. No theme or checkout template changes are required.

Connect the Pixel

On the Settings tab, paste your OpenAI Pixel ID into the OpenAI Pixel ID field and save. With browser tracking enabled, the OpenAI Measurement Pixel loads on the storefront and browser events begin firing.

If consent handling is enabled, the pixel stays blocked until marketing consent is granted for that visitor — see Consent.

Connect the Conversions API

On the same screen, paste your Conversions API key into the Conversions API key field. The key is stored for server-side use only. It is not printed into page markup and is never sent to the browser.

With server-side tracking enabled, order_created is sent from your server when a WooCommerce order reaches a paid status. Every attempt is recorded in Diagnostics with its HTTP response, so a rejected key or a rate limit is visible rather than silent.

Browser tracking

These events are sent from the page:

  • Product viewedcontents_viewed
  • Added to cartitems_added
  • Checkout startedcheckout_started
  • Purchaseorder_created

Turning browser tracking off stops all four browser events. Server-side purchase tracking is unaffected and keeps running.

Server-side tracking

order_created is the event sent through the Conversions API. It fires on the WooCommerce transition to a paid status rather than on a page load, so a customer who closes the tab before the order-received page still produces a purchase event. Delayed payment methods behave the same way.

The event ID is derived from the order, so the server event and the browser event for the same purchase carry the same identifier and can be resolved into one conversion. Reloading the order-received page does not create a second identifier.

Failed deliveries are retried automatically. Anything still failing after the retries stays in the log and can be re-sent manually.

Diagnostics

The Diagnostics tab lists paid orders and what happened to their purchase event:

  • Order — the WooCommerce order the event belongs to.
  • WC paid — whether the order has reached a paid status.
  • Consent — the marketing consent state recorded for the order.
  • Delivery — sent, retrying, failed or not sent.
  • Attempts — how many times delivery has been tried.
  • HTTP status — the response code returned on the last attempt.

A failed delivery can be re-sent from the same screen once the cause is fixed.

Licensing

Licences are annual and cover a fixed number of activations — one per WordPress install. Deactivating a site frees its activation for another store.

Active
Tracking allowed. Events are sent, updates are delivered and support is available.
Expired
New conversion tracking is not allowed. Renew to resume event delivery, updates and support.
Disabled
New conversion tracking is not allowed. The licence has been deactivated and no new events are sent.

Plugin updates arrive through the standard WordPress updates screen while the licence is active. See pricing and plan limits.

Troubleshooting

No browser events on the storefront
Check that browser tracking is on, that the Pixel ID is saved, and — if consent handling is enabled — that marketing consent has been granted. A full-page cache can also serve a copy of the page from before the plugin was configured.
A paid order shows Not sent
Marketing consent was not granted for that order, so no server event was sent. That is the intended behaviour of consent-aware tracking.
Delivery failed with 401
The Conversions API key was rejected. Update the key on the Settings tab, then re-send the event from Diagnostics.
Delivery shows 429
The request was rate limited. It is retried automatically; no action is needed unless it ends in Failed.
Deliveries stay in Retrying
Your server may not be able to reach the API. Check outbound HTTPS requests, firewall rules and any proxy sitting in front of WordPress.
An order is missing from the log
The purchase event is recorded when the order reaches a paid status. Orders still awaiting payment have not been sent yet.
Conversions look doubled
Check that a second pixel is not installed elsewhere. A snippet in the theme or a tag manager container fires without the event ID the plugin assigns, so it cannot be deduplicated against the server event.

Still stuck? Send us the order number and the HTTP status shown in Diagnostics — contact support.

Ready to install it?

Licences are annual and cover 1, 5 or 25 sites. Same tracking on every plan.