Seolign

SEOLIGN / WordPress plugins

Setup guide   ·   Events   ·   FAQs

Free WordPress plugin · v0.6.0

ChatGPT Ads Pixel for WordPress

Connect your pixel. Track the journey from page view to order placed.

ChatGPT Ads Pixel by Seolign connects WordPress to your ChatGPT Ads Pixel ID and adds WooCommerce conversion tracking. Measure product views, cart additions, checkout starts and orders placed, with optional server-side delivery through the Conversions API.

Free features. No subscription or license key. WordPress 6.4+ · PHP 7.4+. WooCommerce required for ecommerce events.

A complete tracking setup, without a paid add-on

Use browser tracking for the customer journey and optional server tracking for placed orders. Choose which events to enable from Settings → Seolign Pixel.

Included featureWhat you can do
Browser pixelConnect your own advertiser Pixel ID and enable the five supported events. Page views work without WooCommerce.
Server-side order trackingSend consented WooCommerce orders directly to OpenAI using your Conversions API key. Server delivery is for placed orders, not every browser event.
Duplicate preventionUse a stable order event ID across browser delivery, server delivery and retries. Previously accepted orders are not sent again by the server.
Consent and customer matchingUse the built-in consent banner or integrate an external consent manager. Optional matching adds hashed email and registered customer IDs where available.
Diagnostics and retriesValidate your connection, inspect an order, view the latest 30 server results, and send an eligible unsent order immediately. Transient failures can retry up to five times after the first attempt.

What does the WordPress plugin track?

Website actionEvent nameDelivery
Page viewpage_viewedBrowser; works without WooCommerce
Product viewcontents_viewedBrowser; WooCommerce
Successful add to cartitems_addedBrowser; WooCommerce
Begin checkoutcheckout_startedBrowser; WooCommerce
Order placedorder_createdBrowser and optional server; WooCommerce

Orders placed ≠ payments collected. An order counts when website checkout validates the submission and creates a submitted order. This includes COD, bank transfer (bacs), cards and custom payment methods, regardless of payment status. A button click or validation failure that creates no submitted order does not count.

Later payment failures, cancellations and refunds do not retract an already sent order-placement event. Use this event to measure submitted orders and their value—not paid sales or collected revenue.

How to connect WordPress to ChatGPT Ads

You will need administrator access to WordPress and access to the correct advertiser account in ChatGPT Ads Manager. The Pixel ID connects browser tracking; a Conversions API key is additionally needed for server-side orders.

1. Download, upload and activate

Download the v0.6.0 ZIP on this page. In WordPress, open Plugins → Add New Plugin → Upload Plugin, choose the ZIP and click Install Now, then Activate Plugin. When updating, choose Replace current with uploaded; do not uninstall first. Deactivate an older PixelBridge Pro add-on and other duplicate integrations.

2. Get your Pixel ID in Ads Manager

Open the Conversions section in ChatGPT Ads Manager. Create or select the Web data source for your website and copy its Pixel ID. Keep the advertiser account and selected data source consistent throughout setup.

3. Add the Pixel ID in WordPress

Open Settings → Seolign Pixel, or click Settings beside the plugin on the Plugins page. Paste your Pixel ID under Connect your Pixel ID. Select your conversion events, choose consent handling, check Enable pixel attachment and save.

4. Connect the Conversions API for server orders

In Ads Manager’s Conversions → Conversion keys area, create or obtain the Conversions API key for the matching advertiser account/data source. Enter the key only in the plugin’s Conversions API key field. Check Send consented placed orders from the server and keep Order placed enabled, then save. Use an advertiser Conversions API credential; a model API credential is not interchangeable. Do not identify a key’s purpose from its prefix alone.

5. Set consent and optional matching

The default Built-in consent banner blocks measurement until the visitor allows it. Customer matching is optional and off by default. Enable Customer matching: include hashed email and registered customer ID when available only when consistent with your consent and privacy settings. External consent managers require an explicit integration; the plugin does not detect them automatically.

6. Validate the connection

Click Validate server connection. A successful result confirms validation of the request, but uses validate_only=true, so it does not record a purchase. The saved key field can remain blank on later saves to keep the key. If you change WordPress authentication salts, save the key again.

7. Verify real events and automatic delivery

Clear page/CDN caches and exclude cart, checkout and wc-ajax endpoints from caching. With measurement allowed and browser blockers disabled, browse a product, add it to the cart and visit checkout. Submit an order when appropriate, then check the matching data source’s Event Stream for the enabled events. Check Recent server activity in WordPress too. A log message alone is not a replacement for verifying the event in Ads Manager.

8. Finish conversion setup in Ads Manager

Configure the conversion definition for order_created on the same data source and select it when setting up a relevant campaign. This plugin sends measurement events; it does not create or activate campaigns.

Automatic server delivery needs scheduled tasks. Server orders and retries run through WP-Cron. If WordPress reports automatic WP-Cron disabled, ask your host to confirm a working system cron. Validation and immediate manual delivery run directly; neither configures automatic scheduling.

Check an order without placing another one

Go to Settings → Seolign Pixel → Check or send an order. Enter the internal WooCommerce order ID and click Check order. The check sends nothing and shows consent, Pixel ID, timestamp, queue and prior acceptance details.

If the order is eligible and unsent, Send eligible purchase now sends a real conversion immediately without waiting for cron. The plugin requires captured measurement consent, the same Pixel ID and a conversion timestamp within six days. Imported or admin-created orders without captured checkout metadata do not automatically qualify.

If Accepted by server previously is Yes, do not resend it. The plugin blocks another server send to avoid duplicates. Browser order delivery needs a valid order-confirmation-page visit; server delivery does not.

Understanding Ads Manager warnings

Warning or resultWhat to check
No active campaigns use conversion eventsSelect the appropriate conversion definition when configuring a campaign. Installing the plugin or waiting alone will not resolve campaign configuration.
No recent server-to-server eventsValidation does not count as a server event. Verify a newly placed eligible order in Event Stream through the server channel, and check scheduled tasks. Diagnostic summaries may cover a different reporting window from the live stream.
Some events are missing user dataOptional matching can add available hashed identifiers after permission. Anonymous visits can still lack identifiers. Historical events are not enriched retrospectively.
HTTP 401 authentication failureCheck the advertiser account, Pixel ID/key pairing and access. Save a valid Conversions API key from Ads Manager. Never share the full key in screenshots or messages.
Validation passed, but no order appearsInspect the order’s consent, Pixel ID and timestamp; check the queue and server activity. Verify actual receipt in Event Stream. Validation intentionally saves no order.

Frequently asked questions

Is the WordPress plugin free?

Yes. All features included in v0.6.0 are free: pixel connection, browser events, server orders, matching, consent controls and diagnostics. No subscription, license key or Pro add-on is required. Advertising spend and hosting are separate.

Does it work without WooCommerce?

Yes, for pixel connection, consent and page views. Product, cart, checkout, order and customer-matching features require WooCommerce.

Does an unpaid COD or bank-transfer order count?

Yes. A submitted website checkout order counts without payment confirmation or a completed status. The consent, destination and delivery-window checks still apply.

Does it support classic and Blocks checkout?

The supplied v0.6.0 code includes order-placement and consent hooks for both classic WooCommerce checkout and the Store API/Blocks checkout flow. Verify your own checkout and any custom extensions after installation.

Will it remove every Ads Manager warning?

No. Campaign configuration, recent activity, available customer identifiers and reporting windows affect diagnostics. Receiving the tested event confirms that delivery path; a validation result alone does not.

Where does measurement data go?

The plugin sends enabled events to OpenAI. Optional matching includes SHA-256 hashes of normalized email and a site-specific registered customer ID where available; hashing does not make identifiers anonymous. The plugin code does not send tracking data to Seolign or contact a Seolign billing/licensing service.

How is the API key stored?

It is encrypted using OpenSSL AES-256-GCM and WordPress authentication salts. Your host needs support for that encryption. Keep the key private and re-save it if the salts change.

Is this an official OpenAI or WordPress.org plugin?

No. This is independent software by Seolign, not affiliated with or endorsed by OpenAI. This ZIP has not been approved or published in the WordPress.org plugin directory.

Download ChatGPT Ads Pixel by Seolign

Version 0.6.0 · ZIP, 34 KB · GPL-2.0-or-later
Requires WordPress 6.4+ and PHP 7.4+. WooCommerce is needed for ecommerce tracking; OpenSSL AES-256-GCM and working scheduled tasks are needed for automatic server orders.

Download the ZIP, upload it in WordPress, then follow the setup guide above. Your browser saves the original supplied plugin package.

Scroll to Top