Works with your stack
Cookie consent for Meta for WooCommerce
hold the signals first
Meta for WooCommerce connects your shop to Meta: the pixel in the page and events from your server. Once the shop is connected, it writes Meta’s cookies from the server on the first page. It can hold all of this until consent, but only if something tells it to.
By Meta · facebook.com · WordPress.org
Is this your product? Tell us if anything here is out of date. Write to us
Meta for WooCommerce
WordPress plugin
- Tested version
- 3.7.8
- How
- Tested automatically around each Cookie Rocks version
- Last test
- 7 November 2026
- Latest version
- 3.7.8 tested
- Active installs
- 400,000+
What Meta for WooCommerce adds to your visitors’ browser
Not testable without an account: the Meta Pixel needs a connected Meta business account.
What matters for consent with Meta for WooCommerce
Active by default
Signals are on from the start. Nothing waits unless a consent plugin holds them, through the plugin’s filter or its hold call in the browser.
Server cookies
When the shop is connected and not held, Meta’s cookies are sent from your server with the first page. A banner that only blocks scripts cannot stop them.
What held means
While held, the server writes no Meta cookie, events wait in a queue and Meta is told consent is refused. Meta’s script file still loads. On release, the queue goes out.
No WP Consent API
The plugin does not read the WP Consent API. Holding it goes through its own switch only.
What our tests found on Meta for WooCommerce
Good to know · Facebook for WooCommerceWhat Facebook for WooCommerce stores in visitors' browsers
Facebook for WooCommerce: 1 cookie(s) or browser key(s) for visitors, recognised by Cookie Rocks from 2.9.8.
Name Kept in Category What it is for wc_facebook_signals_seen_event_idssessionStorage Marketing Avoids sending the same event twice to Meta Read in its code, 2 November 2026, Facebook for WooCommerce.
Full detail
Facebook for WooCommerce can store these in a visitor's browser: wc_facebook_signals_seen_event_ids (session, marketing: Avoids sending the same event twice to Meta). Cookie Rocks recognises them from 2.9.8, with this category and purpose, and lists them in the cookie policy when it sees them.
Set before the choiceCookie Rocks Pro holds both Meta plugins, server cookies included
No _fbp or _fbc cookie is set and nothing goes to Meta before the choice. After consent, the held events are released once, without a reload.
Seen in our tests, 18 October 2026.
Full detail
With Cookie Rocks Pro, Meta Pixel for WordPress and Meta for WooCommerce set no _fbp or _fbc cookie from the server for a new visitor, even with fbclid in the address, and the page makes no request to facebook.com or connect.facebook.net before the choice, fbevents.js included. After Accept all or allowing the Meta Pixel service alone, the held events were released without a reload: one fbq('init'), a PageView, and _fbp, _fbc and wc_facebook_signals_state=active set by the page.
Set before the choiceCookie Rocks releases held Meta events on the same page after consent
The queued page view is sent, _fbp (and _fbc with fbclid) is set and the pixel starts once, without a reload. On next pages the server still sets no Meta cookie.
Seen in our tests, 18 October 2026.
Full detail
After Accept all, or after allowing the Meta Pixel alone, Cookie Rocks releases the held events of Meta Pixel for WordPress and Meta for WooCommerce on the same page, without a reload: the queued PageView is sent, _fbp (and _fbc with fbclid) is set, and fbq('init') runs once. On the next pages the server still sets no _fbp or _fbc cookie.
Set before the choiceWithdrawing consent removes Meta cookies set by both Meta plugins
With both Meta plugins, CookieRocks.rejectAll() after Accept all reloaded the page, removed _fbp and _fbc, and no request went to Meta afterwards.
Seen in our tests, 18 October 2026.
Good to knowWithdrawing consent removes Meta cookies and the signal state cookie
After Reject all, the page reloaded and removed _fbp, _fbc and wc_facebook_signals_state. Only the consent cookie stayed, and nothing went to Meta afterwards.
Seen in our tests, 18 October 2026.
Full detail
With Meta Pixel for WordPress or Meta for WooCommerce, CookieRocks.rejectAll() after Accept all reloaded the page and removed _fbp, _fbc and wc_facebook_signals_state; only the consent cookie stayed on the site and no request went to Meta afterwards. On a plain page without a Meta plugin, the purge list of the page (crConfig.pg) is absent.
Sent from your server · Facebook for WooCommerceFacebook for WooCommerce sets _fbp and _fbc from the server unless held
Holding comes from a filter or a cookie. While held, events wait and no cookie is set; a release sends them and the page then sets _fbp and _fbc.
Read in its code, 18 October 2026, Facebook for WooCommerce 3.7.8. Source
Full detail
Facebook for WooCommerce sets _fbp and _fbc from the server with setcookie() when they are missing, before any choice, unless its signals are held. The held state comes from the PHP filter facebook_signals_held (since 3.6.0) or the cookie wc_facebook_signals_state. While held, events are queued and no cookie is set; window.fbwcsignal.release() then sends the queue, and the page sets _fbp and _fbc from the values returned by the server.
See the 6 other findings
Depends on a setting · Meta for WooCommerceMeta for WooCommerce releases held events with matching event IDs
The server and browser page views share one event ID. Without an access token, the release fails and nothing is released.
Seen in our tests, 18 October 2026, Meta for WooCommerce 3.7.8.
Full detail
When Meta for WooCommerce releases held events (POST to admin-ajax, action facebook_release_signals), the PageView it sends to its server carries the same event ID as the PageView the browser sends to facebook.com/tr. Without an access token, the release request fails with 'Plugin not configured.' and nothing is released.
Good to know · Meta for WooCommerceMeta for WooCommerce release can delay the pixel by several seconds
Without an access token nothing is released. With one, the pixel started 7 to 19 seconds after the click in our tests.
Seen in our tests, 18 October 2026, Meta for WooCommerce 3.7.8.
Full detail
Meta for WooCommerce releases held events only when it has an access token: without one, the release request answers 'Plugin not configured.' and nothing is released. With a token, its admin-ajax release waits for Meta's Conversions API before answering, so the pixel started 7 to 19 seconds after the click in our tests.
Good to know · Meta for WooCommerceMeta for WooCommerce release can fail on pages cached too long
It sends a WordPress security code that expires after 12 to 24 hours, so the release is refused on a page cached longer than that.
Read in its code, 18 October 2026, Meta for WooCommerce 3.7.8.
Full detail
window.fbwcsignal.release() sends a WordPress nonce printed in the page (security parameter, checked with check_ajax_referer). A WordPress nonce expires after 12 to 24 hours, so on a page served from a cache older than that the release request is refused: this public release API is fragile with page caches.
Depends on a setting · Meta for WooCommerceMeta for WooCommerce can hold Pixel events, but fbevents.js still loads
setting “facebook_signals_held (filter)” · by default: active
A consent plugin can hold the Pixel and Conversions API events, then release them. While held, no _fbp or _fbc is written and events are queued. It does not read WP Consent API.
Read in its code, 16 October 2026, Meta for WooCommerce 3.7.8.
Full detail
Meta for WooCommerce can hold Pixel and Conversions API events until consent: signals are active by default (no wc_facebook_signals_state cookie), and a consent plugin holds them with the PHP filter facebook_signals_held or window.fbwcsignal.hold(), then window.fbwcsignal.release(). While held, PHP writes no _fbp or _fbc, fbq('consent','revoke') is sent and events are queued, but fbevents.js still loads. The state cookie lasts 1 year. It does not read WP Consent API.
Good to know · Meta for WooCommerceMeta for WooCommerce prints the Pixel code directly in the page head
Nothing loads without a Meta connection and pixel ID. It keeps sent event IDs in sessionStorage and adds a facebook.com/tr image for browsers without JavaScript.
Read in its code, 16 October 2026, Meta for WooCommerce 3.7.8.
Full detail
Meta for WooCommerce prints the Pixel as an inline snippet in wp_head that starts with if(f.fbq)return;, so a fbq function defined before it stops fbevents.js from loading. It keeps sent event IDs in sessionStorage wc_facebook_signals_seen_event_ids, adds a facebook.com/tr noscript image, and lets the filter wc_facebook_pixel_script_attributes change the script tag attributes. Nothing loads without a Meta connection and pixel ID.
Sent from your server · Meta for WooCommerceMeta for WooCommerce sets _fbp from the server; blocking scripts cannot stop it
On a visitor's first page it sets _fbp (90 days), and _fbc when the visitor arrives with ?fbclid=. It also loads Meta's Param Builder on every page, which writes both unless signals are held.
Read in its code, 16 October 2026, Meta for WooCommerce 3.7.8.
Full detail
When the shop is connected to Meta and signals are not held, Meta for WooCommerce sends Set-Cookie _fbp (90 days) from PHP on a visitor's first page, and _fbc when the visitor arrives with ?fbclid=. A consent plugin that only blocks scripts cannot stop it. It also loads Meta's Param Builder from cdn.jsdelivr.net (fallback unpkg.com) on every page, which writes _fbp and _fbc on the root domain unless wc_facebook_signals_state=held.
How we test it
Around each version, with its latest release
Around each Cookie Rocks version, a fresh WordPress installs its latest version from WordPress.org next to Cookie Rocks and runs the same checks. A new version joins the next run on its own.
- Meta for WooCommerce 3.7.8, tested on 7 November 2026.
- The banner shows, the trackers of the test page wait for consent and load after it, and Cookie Rocks raises no PHP error.
- Settings of the test: Default settings after activation.
- Last run: Meta for WooCommerce 3.7.8 on 7 November 2026, with WordPress 7.1.3.
Analytics and ad pixels
Other plugins of the same kind.
Questions
Does anything load before the shop is connected?
No. Without a Meta connection and a pixel ID, the plugin adds nothing to your pages.
What happens after the 30-day trial?
The banner, your visitors’ choices and your proofs of consent keep working. Without a key, most settings lock, updates and support stop. Take a key at any time and everything opens again.
For Meta for WooCommerce users
Your shop, your pixel, the visitor’s choice.
events wait for a yes
Every feature of the complete plugin for 30 days, no card.
- During the trial: everything, including the full settings and the scans
- After 30 days without a key: the banner, your visitors’ choices and your proofs of consent keep working
- What waits for a key: most settings, updates and support

Get your trial key
Your e-mail and your site. Your key arrives as soon as you confirm your e-mail.