Complete 2026 reference for routing Meta integrity bots and human reviewers to a compliant safe page while serving your real offer to qualified visitors. Covers FacebookExternalHit, AS32934, Pixel Helper interactions, and the BM cascading-ban model.
By IPCloak.ai Engineering · Updated April 25, 2026 · 12 min read
Start Free Trial See PricingCloaking on Meta is the practice of detecting Facebook's review infrastructure — automated crawlers, human moderators, integrity bots, and quality-assurance fetchers — and serving them a compliant "safe page" while real users see the actual offer. Facebook is, in many ways, the original ad platform that cloaking was invented for. Its review pipeline is also the most punishing: a single disapproval can cascade across an entire Business Manager (BM), wipe out personal Ad Accounts that share fingerprint state, and propagate to associated Pages, Pixels, and admin accounts within minutes. This document is the technical reference for deploying IPCloak.ai cloaking on Facebook Ads. It covers the integrity stack (FacebookExternalHit, Lighthouse-style audits, the Meta integrity ML model), the deployment workflow for hosted-link, JavaScript, and server-side integration, and operational practices to survive the BM cascade. Cloaking has real risk on Meta — this guide is honest about that.
Meta's Advertising Standards prohibit or heavily restrict a long catalogue of verticals: cryptocurrency products without prior written authorisation, online gambling outside licensed jurisdictions, supplements with health or weight-loss claims, before/after imagery, deceptive "shocking" content, copycat brand assets, and any landing page that does not match the ad's promise. Five recurring rejection reasons:
Meta's review pipeline blends automated classifiers, dedicated integrity infrastructure, and human moderation across multiple regional centres. A durable cloaking deployment must understand each component.
Stage 1 — automated pre-flight via FacebookExternalHit. When a campaign is submitted, the destination URL is fetched by the well-known FacebookExternalHit/1.1 user agent and the related FacebookCatalog/1.0 and facebookexternalua agents. Source IPs originate from AS32934 (Facebook's primary autonomous system) and a handful of secondary CDN ranges Meta operates for compliance scanning. The crawler reads Open Graph tags, evaluates the page body via Meta's category classifier, and feeds output into the auction-time integrity score.
Stage 2 — Meta integrity bots. Beyond the public-facing FacebookExternalHit, Meta operates a fleet of integrity probes that fetch landing pages with disguised user agents and residential-routed traffic. These probes execute JavaScript, render pages in a headless Chromium build, take a screenshot, and compare it against the ad's creative. Mismatches between the rendered landing page and the creative's claim trigger immediate review escalation. Integrity probes also fingerprint with navigator.webdriver checks, missing audio context, and absent battery API.
Stage 3 — Pixel Helper interaction. When a Meta employee or trusted reviewer audits a landing page from inside Meta's network, the official Pixel Helper extension is typically loaded. This causes specific Pixel-event firing patterns and adds a recognisable cookie set on the request. IPCloak.ai uses these signatures as a high-confidence reviewer indicator for advanced rule sets.
Stage 4 — human moderation pools. Borderline campaigns escalate to human review across Meta's outsourced moderation centres in Manila, Dublin, Hyderabad, and Austin. Reviewers operate under standardised browser profiles with consistent viewport sizes and a small set of residential proxy ranges that Meta provisions for QA. Behavioural signals: sub-3-second dwell, no scroll, no mouse movement on desktop, and instant click on the primary CTA followed by an immediate back-button.
Stage 5 — BM cascading enforcement. If a single ad violates policy, Meta's integrity ML model evaluates the BM, the personal admin accounts behind it, the payment method, the Pixel ID, and the Page asset. A high-confidence violation can suspend not just the offending ad but every account linked through any of those vectors. This is the "BM cascade" and it is why operational hygiene matters as much as the cloaking decision itself.
<head> lets you keep your own domain in the destination URL. The server-side API gives the lowest latency (under 80 ms p95) and the most flexibility for serving differentiated content. Critically, ensure the Meta Pixel still fires on the offer page so attribution and the BM's optimisation signal stay intact.Account warm-up. A new BM with no spend history and an immediate restricted-vertical campaign is the textbook trigger for instant suspension. Run 5–7 days of low-budget compliant campaigns first. Maintain consistent admin login from the same residential IP and browser fingerprint during warm-up.
BM rotation specific to Meta. Meta's cascading enforcement is the most aggressive in the industry. Treat each BM as a single-use asset: dedicated payment method (different card BIN), dedicated admin email, dedicated browser fingerprint, dedicated residential proxy, dedicated Pixel ID, dedicated Page. Never share Pixel IDs across BMs — a Pixel-level violation propagates to every BM that has ever fired events for it.
Creative compliance. The creative is uploaded directly and reviewed against image and text classifiers; cloaking does not protect it. Avoid before/after imagery, no shocking before/after, no "you" pronouns implying personal attributes, no medical claims, no celebrity faces, no Meta brand assets.
Pixel attribution. Cloaking that breaks the Pixel breaks the BM's optimisation. Serve the same Pixel ID on both safe page and offer when the offer is in a tolerated category, or use a separate "offer" Pixel funnelled through a Conversions API endpoint to keep CAPI attribution intact.
For Meta the server-side integration is preferred because it preserves the Pixel firing pattern on the offer page while keeping the safe page indistinguishable to FacebookExternalHit. The example below shows a canonical PHP integration with explicit AS32934 detection and Pixel-tag preservation.
<?php
// IPCloak.ai server-side route for Facebook ads.
// Decision latency ~80 ms p95.
$endpoint = 'https://api.ipcloak.ai/v1/decide';
$project_id = getenv('IPCLOAK_PROJECT_ID');
$api_key = getenv('IPCLOAK_API_KEY');
$visitor = [
'ip' => $_SERVER['HTTP_CF_CONNECTING_IP'] ?? $_SERVER['REMOTE_ADDR'],
'ua' => $_SERVER['HTTP_USER_AGENT'] ?? '',
'referrer' => $_SERVER['HTTP_REFERER'] ?? '',
'accept_lang' => $_SERVER['HTTP_ACCEPT_LANGUAGE'] ?? '',
// Meta-specific: pre-flag known crawler UAs
'is_facebook_crawler' => (bool) preg_match(
'/FacebookExternalHit|FacebookCatalog|facebookexternalua/i',
$_SERVER['HTTP_USER_AGENT'] ?? ''
),
];
$ch = curl_init($endpoint);
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 1,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $api_key,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'project' => $project_id,
'visitor' => $visitor,
]),
]);
$body = curl_exec($ch);
$res = json_decode($body, true);
if (($res['route'] ?? 'safe') === 'safe') {
require __DIR__ . '/safe-page.php';
} else {
require __DIR__ . '/offer.php';
}
Equivalent SDKs ship for Node.js, Python, and Go with identical semantics. The decision endpoint is idempotent and safe to retry on transient network error. For the JS-snippet integration, the same decision is made client-side via a single fetch from a tag injected into <head>; the snippet is under 4 KB minified and does not block the Meta Pixel.
Every visitor decision is the result of a layered evaluation. The table below summarises the signal classes used in the default Meta ruleset and the relative weight each contributes to the final route.
| Signal class | Examples (Meta-specific) | Weight |
|---|---|---|
| ASN intelligence | AS32934 (Meta), Meta-operated CDN edges, integrity-probe residential ranges | High |
| User-Agent regex | FacebookExternalHit/1.1, FacebookCatalog/1.0, facebookexternalua |
High |
| Browser fingerprint | navigator.webdriver, missing audio context, missing battery API, deterministic canvas | High |
| Pixel Helper signature | Pixel-event firing pattern, Helper-injected cookie set | Medium |
| Behavioural | Dwell time, scroll depth, mouse trail, instant CTA-and-back pattern | Medium |
| Geo and TZ | Manila / Dublin / Hyderabad / Austin reviewer pool match, TZ-IP mismatch | Medium |
| Visit history | First visit, cookie freshness, click-source consistency with Meta referrer | Low |
Signals are combined into a confidence score; the route is "safe page" when the reviewer-confidence score crosses the configured threshold (default 0.65). Operators can tune the threshold per project to bias toward either fewer false-negatives (reviewer leakage to offer) or fewer false-positives (real users routed to safe page).
Before going live with a cloaked Meta campaign, walk the operator checklist below. Each item is a guard against a class of failure observed in production — and against the BM cascade.
Cloaking is explicitly prohibited by Meta's Circumventing Systems policy. Even the best cloaking deployment carries a non-zero probability of detection, and detection on Meta is uniquely punishing because of the BM cascade — a single violation can wipe out an entire constellation of accounts, Pages, Pixels, and admin identities. Operators should treat each BM as a single-use asset, maintain warm spares, isolate every fingerprint vector, and never run cloaked campaigns from accounts that hold material spend or brand equity. IPCloak.ai's role is to reduce — not eliminate — the probability of detection, and to do so with engineering rigour rather than marketing claims. Use this technology with realistic expectations of operational cost and cascading-ban risk.