The WordPress way to install Facebook Pixel is clunky
You run Facebook or Instagram ads. Without the Meta Pixel on your site, you can't build lookalike audiences, can't retarget site visitors, and the ads optimize toward clicks instead of conversions.
The canonical WordPress paths are: install an analytics plugin (comes with admin pages, updates, subscription nags), paste the snippet into functions.php (breaks when you switch themes), or set up Google Tag Manager as middleware (overkill for one pixel).
What most people do instead
How to add the Meta Pixel to WordPress without a plugin
You can drop the Pixel base code in yourself. A must-use plugin that prints it on wp_head does the job:
// wp-content/mu-plugins/meta-pixel.php
add_action( 'wp_head', function () { ?>
<!-- Meta Pixel Code -->
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '1234567890123456');
fbq('track', 'PageView');
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=1234567890123456&ev=PageView&noscript=1"/></noscript>
<?php } ); Replace the ID with your Pixel ID from Events Manager and it starts firing PageView. The catches are familiar:
- A theme switch drops a
functions.phpversion. Usemu-pluginsto avoid that. - The ID lives in a file, with no interface to change it.
- It fires for logged-in admins, polluting your audiences and conversion data.
- No consent gating, which is both a GDPR and a Meta policy concern.
The command does this in one step, with consent-awareness and page conditions, and no file to babysit.
A better way: one command, one ID, tracking live
Run enable fb pixel with your Pixel ID. The command auto-registers as a startup command so the tracking snippet outputs on every page load. No theme edit, no plugin, no GTM middleware.
Shown in advanced mode, where commands start with tp. In easy mode you type the same command without the tp prefix.
Consent-aware flag included. Pass -consent_aware=true and the pixel only fires when your cookie-consent plugin's gate has been accepted. Works with any standard WP consent plugin that sets a cookie flag.
How it works
The command hooks wp_head with the Meta-provided tracking snippet, then auto-registers itself in Startup Commands so the tracking stays active across requests. Re-running with a different ID updates the existing entry. Disable from Startup Commands to remove.
tp enable fb pixel -pid=1234567890123456| Parameter | Value |
|---|---|
-pid (required) | Pixel ID (format: 1234567890123456) |
-consent_aware | true to only fire after cookie consent (checks standard consent cookie) |
| Scope | Auto-registered as startup command, runs on every frontend page load |
| Where to find the ID | Meta Events Manager → Data sources → Pixel |
| Can be used in |
Real example
You spent $400 on Facebook ads for a product launch. The ads converted poorly because Meta couldn't optimize without conversion data, the pixel wasn't installed. Run tp enable fb pixel -pid=1234567890123456, relaunch the campaign a week later, and Facebook optimizes toward buyers instead of clicks. ROAS triples.
Goes further with TrueCommander
Frequently asked questions
wp_head hook, as shown above. The downsides are a hardcoded ID, no consent gating, and firing for admins. TrueCommander does the same in one command, consent-aware, with nothing to maintain.