Description
GlobalDev SignalBridge for OpenAI Ads adds the OpenAI Ads Measurement Pixel to WordPress and provides configurable tracking for WordPress content, WooCommerce commerce actions, common form submissions, registrations, subscription events, URL-based success events, and custom events. For WooCommerce purchases it can also send paid order_created events through the OpenAI Conversions API from the server.
The plugin accepts the complete OpenAI base pixel snippet from Ads Manager. For security, it does not store or execute arbitrary pasted JavaScript. It extracts the pixelId and debug setting, then generates the fixed official SDK loader itself.
Current standard events supported:
page_viewed– selectable public WordPress post types plus optional archive/search/taxonomy/404 routes.contents_viewed– WooCommerce single product pages.items_added– successful WooCommerce AJAX/Blocks add-to-cart actions plus non-AJAX fallback.checkout_started– WooCommerce checkout page with cart value/currency/contents when available.order_created– paid WooCommerce order on a valid order-received URL, with order value/currency/contents, stable event ID, mandatory order-key validation, and a persistent one-time database guard.lead_created– successful Contact Form 7, Elementor Pro Form, and WPForms AJAX submissions, plus optional success URL rules.registration_completed– frontend WordPress/WooCommerce registrations plus optional success URL rules.appointment_scheduled– configurable success URL rules or JavaScript API.trial_started– configurable success URL rules, JavaScript API, and automatic WooCommerce Subscriptions trial detection when available.subscription_created– configurable success URL rules, JavaScript API, and automatic WooCommerce Subscriptions parent-order detection when available.custom– configurable custom event name and URL rule, plus JavaScript API.
The plugin maps each standard event to the OpenAI data type documented by the official OpenAI Ads Measurement Pixel GTM template:
contents: page_viewed, contents_viewed, items_added, checkout_started, order_created.customer_action: lead_created, registration_completed, appointment_scheduled.plan_enrollment: trial_started, subscription_created.custom: custom event.
The browser also exposes window.gdOpenAIAdsTrack() for integrations that need to fire a standard event at a business-specific success point.
Optional server-side purchase tracking uses the OpenAI Conversions API. When enabled, the plugin sends paid WooCommerce order_created events to https://bzr.openai.com/v1/events using the same wc_order_{ID} identifier as the browser Pixel so OpenAI can deduplicate browser and server delivery. The Conversions API key is stored only in WordPress options and is never exposed to frontend JavaScript. Successful server delivery is recorded in WooCommerce order metadata and failed deliveries are retried a limited number of times.
WooCommerce attribution diagnostics can record an OpenAI Ads click when the official oppref signal is present and can record a direct ChatGPT referral when a browser referrer is available. These local records are stored on WooCommerce orders and are diagnostic only; OpenAI Ads Manager determines final ad attribution.
An optional enhanced matching setting can add supported customer matching fields to Pixel initialization when they are available. Email, phone, first name, last name and external customer ID are normalized and SHA-256 hashed server-side. Supported location fields are passed in the format accepted by the OpenAI Pixel. This setting is disabled by default and should be enabled only when the site owner’s privacy and consent configuration permits it.
This community plugin is developed by GlobalDev and is not affiliated with or endorsed by OpenAI. OpenAI and ChatGPT are trademarks of their respective owner.
External services
This plugin connects to OpenAI Ads measurement services when configured.
The browser loads the official JavaScript SDK from:
https://bzrcdn.openai.com/sdk/oaiq.min.js
Measurement events are transmitted by the OpenAI SDK according to the configured Pixel ID and enabled events. When Conversions API / server-side tracking is enabled, paid WooCommerce order_created events are also sent from the WordPress server to:
https://bzr.openai.com/v1/events
Server requests use the saved Conversions API key in an Authorization header and the configured Pixel ID as the pid query parameter. This external service is required for OpenAI Ads tracking functionality.
OpenAI terms and privacy information:
https://openai.com/policies/terms-of-use/
https://openai.com/policies/privacy-policy/
Site owners are responsible for appropriate privacy disclosures and for obtaining any consent required by applicable law before enabling measurement technologies.
Privacy
The plugin stores its WordPress configuration, including Pixel ID, debug preference, event toggles, post-type selections, URL trigger rules, product identifier preference, attribution setting, enhanced-matching setting, Conversions API enablement, and the Conversions API key when supplied.
When local attribution is enabled and a qualifying OpenAI Ads or ChatGPT source signal is detected, the plugin may set a signed first-party attribution cookie for up to 30 days and save source metadata on the resulting WooCommerce order. The OpenAI oppref value, when available, is stored with the order for diagnostics.
When enhanced matching is enabled, supported customer identifiers are normalized and hashed before being added to OpenAI measurement payloads. Supported location values may be sent in the documented format. For Conversions API purchase events, the OpenAI browser reference (__obref), customer IP address, and user agent may also be sent when available.
Frontend measurement data is sent through the OpenAI Ads Measurement Pixel when configured. Review OpenAI documentation and your applicable privacy/consent obligations before deployment.
Installation
- Upload the plugin ZIP through Plugins > Add New > Upload Plugin.
- Activate the plugin.
- Go to WooCommerce > SignalBridge when WooCommerce is active, or Settings > GlobalDev SignalBridge otherwise.
- Paste the complete OpenAI Ads base pixel snippet from Ads Manager, or enter the Pixel ID directly.
- Optional: enable Conversions API / server-side tracking and paste the Conversions API key from OpenAI Ads Manager.
- Save changes.
- Select which WordPress post types and standard events should be tracked.
- Keep debug mode enabled while validating, then disable it in production.
FAQ
-
Does the plugin store the JavaScript snippet I paste?
-
No. It extracts the Pixel ID and debug flag. Arbitrary JavaScript is not stored or executed.
-
Why does page_viewed work on custom post types?
-
The settings page enumerates all currently public WordPress post types and allows administrators to select or clear them individually.
-
Why does the plugin sometimes send only {type:”contents”}?
-
OpenAI’s current event schema makes fields such as
contentsoptional. For events where richer metadata is reliable, the plugin sends it. For generic routes or events where product/action metadata is not available, the plugin sends the minimal valid event payload. -
How is order value formatted?
-
Monetary values are sent as integers in the currency minor unit. For example, 129.99 RON is sent as
12999with currencyRON. -
Which product ID is sent?
-
You can choose SKU with a WooCommerce ID fallback, or WooCommerce product/variation ID. Use the option that matches your product/catalog feed.
-
Does it support WooCommerce Blocks?
-
Yes. The plugin listens for WooCommerce’s native
wc-blocks_added_to_cartsuccess event as well as classic WooCommerce’sadded_to_cartevent. -
Can I fire an event myself from another plugin?
-
Yes. On the frontend use, for example:
gdOpenAIAdsTrack('appointment_scheduled'); gdOpenAIAdsTrack('trial_started', { plan_id: 'monthly-plan' }); gdOpenAIAdsTrack('custom', {}, { custom_event_name: 'quote_requested' }); -
Does the plugin support server-side tracking?
-
Yes. Enable Conversions API / server-side tracking and save the Conversions API key from OpenAI Ads Manager. Paid WooCommerce
order_createdevents are then sent from WordPress to the OpenAI Conversions API. Browser and server purchase events reuse the same event ID so OpenAI can deduplicate them. -
Which API key should I use?
-
Use the OpenAI Ads Conversions API key intended for server event delivery. Do not use an Advertiser API key. The key is stored in WordPress options and is never printed into browser code.
-
Does this plugin use customer data for enhanced matching?
-
Only when the optional Enhanced matching setting is enabled. Email, phone, first name, last name and external customer ID are normalized and SHA-256 hashed before being included in supported OpenAI measurement payloads. Supported country, city, region and postal-code values are passed in the documented format. For Conversions API purchase events, the stored OpenAI browser reference, customer IP address and user agent can also be included when available. The setting is disabled by default.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“GlobalDev SignalBridge for OpenAI Ads” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “GlobalDev SignalBridge for OpenAI Ads” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.2.0
- Require the WooCommerce order key on order-received URLs before any order-based event can be generated.
- Send
order_createdonly for paid orders. - Add a persistent WooCommerce order-meta guard so
order_createdis queued only once per order even if the thank-you page is reloaded later. - Store the stable
wc_order_{ID}event ID with the order for diagnostics. - Add local OpenAI Ads / ChatGPT order attribution diagnostics using the official
opprefsignal and direct ChatGPT referrer detection. - Add an admin table showing the latest attributed WooCommerce orders and whether the purchase event was queued.
- Add optional enhanced matching with server-side normalization and SHA-256 hashing for supported WooCommerce customer identifiers.
- Restore optional OpenAI Conversions API server-side tracking for paid WooCommerce
order_createdevents. - Add a masked admin field for the Conversions API key; the saved key is never exposed in browser JavaScript.
- Use the same
wc_order_{ID}identifier for browser and server purchase events so OpenAI can deduplicate delivery channels. - Persist server delivery status and limited retry state in WooCommerce order metadata.
- Capture the OpenAI
__obrefbrowser reference on checkout for optional Conversions API enhanced matching.
1.1.2
- Sanitize the current request URI before URL-rule matching.
- Sanitize the short-lived registration cookie marker before checking it.
1.1.1
- Prevent duplicate page_viewed delivery within the same browser document.
- Add event_id to page_viewed events for stronger deduplication.
- Add same-request server queue deduplication.
- Warn in debug mode when another oaiq pixel is already present before GlobalDev loads.
1.1.0
- Rebuilt the frontend loader to use the official OpenAI bootstrap pattern directly in the document head.
- Added
page_viewedwith selectable public WordPress post types and Select all/Clear all controls. - Added generic archive/search/taxonomy/404 page-view tracking.
- Added
items_addedfor classic AJAX, WooCommerce Blocks, and successful non-AJAX add-to-cart flows. - Added
checkout_startedwith cart metadata. - Hardened
contents_viewedevent generation against unsupported payload fields. - Retained
order_createdwith value, currency, contents, and stable deduplication ID. - Added
lead_createdintegrations for Contact Form 7, Elementor Pro Forms, and WPForms AJAX. - Added frontend WordPress/WooCommerce
registration_completeddetection. - Added
appointment_scheduled,trial_started, andsubscription_createdURL triggers. - Added automatic WooCommerce Subscriptions parent subscription and active-trial detection.
- Added custom OpenAI event support.
- Added public
window.gdOpenAIAdsTrack()helper for business-specific integrations. - Added WooCommerce Cart/Checkout Blocks compatibility declaration.
1.0.0
- Initial release with pixel setup,
contents_viewed, andorder_created.


