Description
Everything a WooCommerce store needs for ChatGPT Ads: a free pixel that measures the sales your ads bring in, and a product feed OpenAI accepts.
New and free: the ChatGPT Ads Pixel
Turn on OpenAI’s Measurement Pixel and Conversions API in two minutes, without code. It works on its own: no FeedAgentX account is needed.
- The whole shopping journey. Page views, product views, add to cart, checkout and purchases, with prices and products. Works with classic and block themes, including the block checkout.
- Purchases from your server too. Paid orders are also sent through OpenAI’s Conversions API, in the background and retried if OpenAI cannot be reached, so ad blockers and closed tabs do not hide sales.
- Every sale counted once. The browser and your server share one event ID per order, so OpenAI never double counts.
- Better matching without raw data. Email, phone (with its country code) and name are normalized and hashed with SHA-256 on your server before anything is sent.
- Consent-aware. Follows cookie banners that support the WP Consent API, or waits for your own banner. Without consent, OpenAI’s script is not loaded and no purchase is sent.
- Test it from WordPress. Send a validate-only test purchase, and see every server delivery with its result.
- Lines up with your product feed. Products are reported with the same IDs as the FeedAgentX feed.
OpenAI uses these events to report conversions and return on ad spend, and to run campaigns that optimize for purchases.
The ChatGPT Ads product feed
FeedAgentX turns your WooCommerce catalog into a ChatGPT Ads product feed. It checks your products against OpenAI’s product feed format, gives you a hosted feed URL for OpenAI Ads Manager and, on paid plans, sends price and availability updates through the Ads API.
ChatGPT Ads can be built straight from a product catalog. Before one of your products can appear in a product ad, Ads Manager needs a feed in OpenAI’s format and a successful import. FeedAgentX Connect is the WordPress side of that setup: it links your store to FeedAgentX, where you review the catalog, fix problems and publish the feed.
Made for one channel: ChatGPT Ads
- OpenAI’s feed format, field by field. Titles, descriptions, prices, availability, images, brands, identifiers and variants are mapped to the columns Ads Manager expects.
- Catch problems before the import. Missing required fields, invalid GTINs, non-public product or image URLs and variant issues show up in FeedAgentX before OpenAI rejects a row.
- A hosted feed for OpenAI Ads Manager. One private URL with its own username and password, fetched on the schedule you set in Ads Manager. You can also download the CSV.
- Price and stock updates. After the first import, paid plans can send supported title, price and availability changes for existing items through the OpenAI Ads API.
- Variable products included. Each WooCommerce variation becomes its own feed row, as OpenAI’s format requires.
- Your store stays in charge. FeedAgentX reads your catalog with a revocable token. It does not edit products and never reads customer or order data.
How it works
The pixel:
- In OpenAI Ads Manager, open the Conversions tab, create a pixel and a Conversions API key.
- In WordPress, open FeedAgentX ChatGPT Ads Pixel, paste both and save.
- Send a test purchase from the same screen. That’s it: purchases are measured from then on.
The product feed:
- Install this plugin and copy the API token from FeedAgentX Product Feed.
- Create a free FeedAgentX account, add your store URL and token, and wait for the first catalog sync.
- Review validation issues and choose which products go to ChatGPT Ads.
- Create the hosted feed and add it in OpenAI Ads Manager, then check the first import.
- Optionally connect the Ads API for price and availability updates.
Plans
The ChatGPT Ads Pixel is free and needs no account. For the product feed, the Free plan covers 1 store and up to 25 products with a hosted feed, and needs no card. Paid plans raise the product limit, add stores on Growth and Pro, include Ads API updates and start with a 14-day free trial. See plans and limits.
What FeedAgentX does not do
FeedAgentX does not create campaigns, change bids, process orders or payments, or enable checkout inside ChatGPT. OpenAI controls account access, supported markets, catalog processing, product eligibility and ad approval. No placement, impressions or sales are guaranteed.
FeedAgentX is an independent service. It is not an official OpenAI or WooCommerce product.
Guides
- Documentation: installing the plugin, the ChatGPT Ads Pixel, the hosted feed, checking an import, API updates and what each error means.
- Set up the ChatGPT Ads Pixel
- ChatGPT Ads for WooCommerce stores: the complete guide
- ChatGPT product feed specification: every field explained
- OpenAI Ads Manager product feeds: setup and upload history
External services
This plugin can use two external services: FeedAgentX.com for the product feed, and OpenAI for the ChatGPT Ads Pixel. Each is off until you set it up.
1. FeedAgentX.com (product feed)
This part connects your WooCommerce store to FeedAgentX.com, a third-party SaaS platform operated by FeedAgentX. For the feed, the plugin does not make outbound calls; instead it exposes a token-protected catalog API that the FeedAgentX.com service pulls from after you connect your store. The token also permits sync acknowledgments; it cannot change settings in WordPress.
What data is shared with FeedAgentX.com:
- Product catalog data: titles, descriptions, prices, stock levels, SKUs, brands, categories, image URLs, product attributes, and variant data.
- Store details used in the feed: site name, home URL, site timezone, store currency, store and target countries, and the privacy policy, terms and return policy links with return acceptance and deadline.
- Catalog defaults and totals: search, checkout and Ads eligibility defaults, product and pending-change totals. Which products are advertised is decided in FeedAgentX.
- Plugin and platform metadata: plugin version, schema version, WordPress / WooCommerce / PHP versions, and when the API token was created (never the token itself).
- No customer records, order data or payment details are read or transmitted to FeedAgentX.com.
When data is shared:
- Only after a site administrator copies the API token from FeedAgentX Product Feed and pastes it into a connected workspace at FeedAgentX.com.
- Every request must include a valid Bearer token. Rotating the token on the Product Feed page replaces it immediately; requests with the old token stop working.
Service provider:
- FeedAgentX.com — Privacy Policy: https://www.feedagentx.com/privacy/
- FeedAgentX.com — Terms of Service: https://www.feedagentx.com/terms/
2. OpenAI (ChatGPT Ads Pixel)
Nothing is sent to OpenAI until a site administrator turns on the pixel and enters a Pixel ID under FeedAgentX ChatGPT Ads Pixel. Where consent is required (a WP Consent API banner, or the “Wait for consent” setting), nothing is loaded or sent for a visitor who has not given marketing consent. None of this data goes to FeedAgentX.
- In the visitor’s browser: the plugin loads OpenAI’s Measurement Pixel from
https://bzrcdn.openai.com/sdk/oaiq.min.js, which sends events to OpenAI: the page address, product views, items added to the cart, checkout starts and purchases, with product IDs, names, quantities, prices, currency and order value. OpenAI’s script sets two first-party cookies,__oppref(ad click reference, up to 30 days) and__obref(browser reference, up to 365 days). On the order confirmation page, if customer matching is on, it also receives SHA-256 hashes of the billing email, phone, first and last name and customer ID, and the billing city, region, postcode and country. - From your server (Conversions API): only if you also turn on server purchases and save a Conversions API key. For each paid order placed through the storefront checkout, the plugin sends
https://bzr.openai.com/v1/eventsthe order’s event ID, payment time, checkout page URL, order value, currency and products, the customer’s IP address and browser user agent, the__opprefand__obrefvalues stored at checkout, and, if customer matching is on, SHA-256 hashes of the billing email, phone, first and last name and customer ID with the billing city, region, postcode and country. Email, phone and name are never sent in plain text. Payment details are never read or sent. -
Test purchase: the admin “Send a test purchase” button sends one sample event with
validate_only, which OpenAI checks without recording; it contains no customer data. -
OpenAI — Privacy Policy: https://openai.com/policies/privacy-policy/
- OpenAI — Terms of Use: https://openai.com/policies/terms-of-use/
Suggested wording for your own privacy policy is added to Settings Privacy Policy Guide.
Security and logs
- All endpoints require a Bearer token, compared in constant time and rotatable from the admin screen.
- Authenticated requests have a per-token rate limit (default 120/min); failed-auth requests have a per-IP limit (default 10/min) against brute force and log spam.
- The Conversions API key is stored in the WordPress database, shown only as its last four characters, and never logged. It can only send events to OpenAI.
- Server purchase history on the pixel screen keeps order numbers and outcomes only, no customer details.
- Diagnostic logs are written to
wp-content/uploads/feedagentx-logs/at INFO level and deleted after 14 days by default. They contain route names, error messages and migration events, plus the IP address of requests refused for a missing or invalid token or for exceeding the rate limit. Tokens are never logged. -
The log directory is protected by generated
.htaccess(Apache) andweb.config(IIS) files. On Nginx, add this inside your server block:location ~* /wp-content/uploads/feedagentx-logs/ {
deny all;
return 404;
}
Screenshots







Installation
Requirements: WordPress 6.2+, PHP 8.1+ and WooCommerce 5.0+. The pixel needs an OpenAI Ads account only. The product feed also needs a FeedAgentX account (the Free plan is enough to start).
ChatGPT Ads Pixel
- Install and activate the plugin.
- In OpenAI Ads Manager, open the Conversions tab. Create a pixel and copy its Pixel ID; create a Conversions API key as well (recommended).
- Go to FeedAgentX ChatGPT Ads Pixel, tick “Add the OpenAI Measurement Pixel to my store”, paste the Pixel ID and the key, choose how cookie consent is handled, and save.
- Click Send a test purchase. OpenAI validates it without recording anything.
Product feed
- Install the plugin from Plugins Add New, or upload the
.zip, and activate it. WooCommerce must be active. - Go to FeedAgentX Product Feed and copy the API token. Keep it private; use Rotate token if it is exposed.
- Sign in to FeedAgentX, add your store URL and the token, and wait for the first catalog sync.
- Review products and validation issues, then open the store’s ChatGPT Ads setup and create a hosted feed URL.
- In OpenAI Ads Manager, add a feed and enter the URL, username and password separately. Set its schedule and check the first import.
- Optionally connect the Ads API after the import and confirm which feed holds this store’s catalog.
Give Ads Manager the hosted URL or CSV from FeedAgentX, not the plugin’s WordPress endpoints: those supply source data to FeedAgentX and are not an OpenAI-ready feed.
FAQ
-
Is the ChatGPT Ads Pixel really free? Do I need a FeedAgentX account?
-
Yes, it is free, and no. The pixel and the Conversions API run entirely in your WordPress site and send events straight to OpenAI. A FeedAgentX account is only needed for the product feed.
-
Where do I find my Pixel ID and Conversions API key?
-
In OpenAI Ads Manager, open the Conversions tab. Create a pixel to get its Pixel ID, and create a Conversions API key in the same place. The key can only send events; it cannot change your ad account.
-
Will a purchase be counted twice?
-
No. The thank-you page and your server send the same event ID for each order, and OpenAI keeps the first one it receives. Reloading the thank-you page does not send the purchase again, and an order is sent from the server only once.
-
If your consent plugin supports the WP Consent API, the pixel waits for its marketing consent automatically. With any other banner, choose “Wait for consent” and call
FeedAgentXPixel.grantConsent()from the banner. Without consent, OpenAI’s script is not loaded, no cookies are set and no server purchase is sent. -
Which events are sent?
-
page_viewed, contents_viewed (product pages), items_added (add to cart), checkout_started and order_created (purchase), with prices, currency and products. Orders entered in the admin and subscription renewals are not sent as purchases.
-
Does it work with block themes and the block checkout?
-
Yes. Add to cart from product blocks, the classic product form and AJAX buttons are all measured, and purchases are measured on the block and classic checkout.
-
Does it work with page caching?
-
Yes. Pages that caches serve to everyone carry no shopper data; add-to-cart events are fetched from an uncached endpoint, and customer details appear only on the thank-you page, which WooCommerce never caches.
-
Does it slow down my store?
-
The plugin adds one small script. OpenAI’s own script loads asynchronously, only after consent. Server purchases are sent in the background, not during checkout.
-
How do I add my WooCommerce products to ChatGPT Ads?
-
Install this plugin, connect your store in FeedAgentX and wait for the catalog sync. Fix any validation issues, create the hosted feed and add it to OpenAI Ads Manager. After a successful import you can build product-feed campaigns from the catalog; OpenAI still decides which products are eligible for ads.
-
Are ChatGPT Ads and OpenAI Ads the same thing?
-
ChatGPT Ads are the ads shown inside ChatGPT. Advertisers create and manage them, including product feeds, in OpenAI Ads Manager. This plugin prepares the product feed for that platform.
-
What does a ChatGPT Ads product feed contain?
-
One row per product or variation, with fields such as ID, title, description, link, price, availability, image, brand and identifiers. Our field-by-field guide explains each column.
-
Do I need an OpenAI Ads API key?
-
Not for the hosted feed, which uses its own URL, username and password. The optional Ads API connection uses an Ads API key for supported updates after the first import. An OpenAI model API key is not an Ads API key.
-
Does it support variable products?
-
Yes. A parent product can produce several feed rows, one per variation, so the number of rows may differ from the number of products in your store.
-
Are price and stock updates instant?
-
No. Timing depends on store synchronization, the feed fetch schedule and OpenAI’s processing. Ads API updates cover supported fields on existing items; other changes need a full catalog refresh.
-
Will my products appear in ChatGPT after I install the plugin?
-
No. The plugin and FeedAgentX prepare your catalog. Account access, feed processing, ad eligibility and ad serving are controlled by OpenAI, and installing the plugin does not guarantee placement or enable checkout.
-
Is there a free plan?
-
Yes. The Free plan covers 1 store and up to 25 products with a hosted feed, and needs no card. A FeedAgentX account is required; the plugin does not generate a feed on its own.
-
Not with FeedAgentX: the feed connection exposes product catalog data and store settings only. If you turn on the ChatGPT Ads Pixel, purchases and, with customer matching, hashed customer details are sent to OpenAI (never to FeedAgentX), and only with consent where consent is required. Payment details are never read or sent. See External services below.
-
How is the store connection protected?
-
Every catalog request needs the plugin’s Bearer token. Rotate it on the Product Feed page if it is exposed, then update the store in FeedAgentX. Never put it in a public URL or support screenshot.
-
Where can I get help?
-
Read the setup guides. Signed-in FeedAgentX users can send a support request from the app; it includes the store’s sync and feed status, so you do not need to send screenshots of this plugin.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“FeedAgentX – ChatGPT Ads Product Feed & Pixel for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “FeedAgentX – ChatGPT Ads Product Feed & Pixel for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.4.0
- New: a free ChatGPT Ads Pixel. Adds OpenAI’s Measurement Pixel and Conversions API to WooCommerce, without code and without a FeedAgentX account.
- Measures page views, product views, add to cart (classic and block themes), checkout started and purchases, with prices, currency and the product feed’s item IDs.
- Paid orders are also sent from your server in the background, retried when OpenAI cannot be reached, and counted once together with the browser event.
- Hashed customer matching (email, phone with its country code, name) and WP Consent API support. Without consent, nothing is loaded or sent.
- New “ChatGPT Ads Pixel” screen with setup steps, status, a validate-only test purchase and recent server deliveries, plus suggested privacy-policy text.
- Simpler admin: three pages instead of tabs — Product Feed, ChatGPT Ads Pixel and Diagnostics. Old links still work.
- Removed the legacy Feed Settings and Brand screens, the category filter, the per-product eligibility panel in the product editor and the Ads settings handover. The plugin now sends every published product; FeedAgentX decides which are advertised and holds seller, policy and country settings. Values saved on the removed screens are deleted on upgrade.
- The Brand screen’s “Site name” and fixed-brand options are gone; brands are detected automatically. If your products have no brand data, add your brand with WooCommerce Brands (Products Brands) and assign it to them.
- The connection token and the product data the feed reads are unchanged.
2.3.3
- New name: FeedAgentX – ChatGPT Ads Product Feed for WooCommerce.
- The admin menu shows the FeedAgentX “F” instead of a generic feed icon.
- Rewritten description, installation steps and FAQ.
- No changes to settings, stored data, the token or the REST API.
2.3.2
- Adds a “Connect your store in three steps” card to the Connection tab, with the Store URL to copy and links to sign up, sign in, the setup guide and support.
- The setup guide link opens the public documentation at www.feedagentx.com/docs.
- Clearing the change log now records the cleared history, so FeedAgentX re-reads the whole catalog on its next sync instead of missing changes deleted before it fetched them.
- The authenticated rate limit’s help text says what it does: it cannot be turned off, and the minimum is 1.
- The readme lists every store detail shared with FeedAgentX and says that logs record the IP address of refused requests.
2.3.1
- Adds a descriptive plugin name and a brand icon to the admin header.
- Rewrites the plugin description. No changes to settings, stored data, the token or the REST API.
2.3.0
- Supports moving Ads settings to FeedAgentX, with explicit approval in WordPress before local Ads controls become read-only.
- Reports excluded category IDs, full paths and exact-term scope consistently in health and feed responses. Existing source category filters remain active.
- Keeps Search and Checkout settings independent of Ads ownership. Health requests never change ownership.
2.2.0
- Stable OpenAI product schema: canonical is_ads_eligible, independent search/Ads controls and explicit return acceptance.
- Stable wc-ID identities survive SKU edits. Event-ID pagination and acknowledgments prevent change loss. Run a full sync after upgrading.
- Active-sale prices follow WooCommerce’s displayed tax convention; scheduled discounts are not published early.
- Brand resolution, GTIN checksum validation, variant options and public URL checks.
2.1.0
- OpenAI flat (file-upload) feed fields, eligibility flags with per-product overrides, per-product brand, seller block and target countries.
1.0.0
- Initial public release.
