Meta: Pixel + Conversions API
Hashed PII (em, ph, fn, ln, ct, st, zp) via Conversions API. Optional hybrid mode loads the browser pixel for first-party fbp/fbc cookies, deduplicated by event_id.
Meta, TikTok, Google Ads, LinkedIn, GA4, Microsoft Ads, Pinterest, Snapchat, Reddit, X Ads. All dispatched server-side through a same-origin endpoint inside WordPress, with Hybrid Mode browser-pixel deduplication on every channel that supports it. No GTM, no Stape, no six-week Google Ads developer-token approval.
Ad platforms tracked server-side: Meta, TikTok, Google Ads, LinkedIn, GA4, Microsoft Advertising, Pinterest, Snapchat, Reddit, X Ads.
Reach you lose to adblockers when you depend on third-party tracker domains.
Third-party domains in your visitors' DevTools. Every event stays same-origin.
Server-to-platform dispatch time, non-blocking from the visitor's request.
Plug in your numbers. The figure on the right is what stays invisible to your reporting today, every month, until the moment you switch the dispatch path off the third-party tracker domains.
That is €162,000 a year spent optimising campaigns on data you never received. Beaconry is $69 once, lifetime updates, no monthly cloud bill. Stop the leak.
Recover your conversions, from $69Every channel runs server-side through Beaconry's REST endpoint on your own domain. Nine of the ten also support Hybrid Mode: a same-origin browser pixel that shares the server's event_id for vendor-side deduplication, so you keep audience signal without losing conversion accuracy. Drop the credentials in once, every event reaches the platform, even from visitors with adblockers.
Hashed PII (em, ph, fn, ln, ct, st, zp) via Conversions API. Optional hybrid mode loads the browser pixel for first-party fbp/fbc cookies, deduplicated by event_id.
Events API 2.0 mirror of the Meta architecture. ttclid captured from URL params on ad-click landings, persisted in the nl_ext cookie alongside fbclid and gclid.
Conversion uploads via the Google Ads API. Beaconry's central broker abstracts the developer token, so you skip the four-to-six-week Google approval and go live in five minutes.
OAuth-based connect flow. Five conversion slots (Purchase, Lead, SignUp, AddToCart, KeyPageView) mapped to your Campaign Manager rules. li_fat_id captured and persisted.
page_view, user_engagement, generate_lead, purchase via the official Measurement Protocol. Stable per-order event_id for browser-pixel deduplication.
Conversion uploads to Bing Ads with msclkid match. Same broker pattern as Google Ads: the Beaconry broker carries the developer token, you connect your account in two clicks. Especially relevant for B2B campaigns where Bing carries meaningful spend.
Server-side dispatch with event_id dedup against the optional Pinterest Tag. Standard events Lead, AddToCart, Checkout, Purchase for e-commerce campaigns. Hybrid Mode populates Pinterest Audiences without losing CAPI accuracy.
X Conversions API with conversion_id dedup against the optional twq Universal Tag. Same Hybrid Mode pattern as Meta: server is source of truth, browser feeds Tailored Audiences.
Snap CAPI with event_id dedup (48 h window) against the optional Snap Pixel. sc_at click-ID matched server-side, Hybrid Mode keeps Snap Audiences and Lookalikes warm.
Reddit CAPI with conversionId dedup against the optional Reddit Pixel. Standard events Lead, AddToCart, Purchase. Hybrid Mode for Reddit Audiences and algorithm signal.
Adblock loss, Google Ads onboarding, license phone-home. Beaconry treats each one as a first-class architectural decision, not an afterthought.
Events POST to /wp-json/beaconry/v1/event on your own domain. An adblocker that blocks /wp-json would break WordPress itself. No connect.facebook.net, no googletagmanager.com, no rented worker subdomain in DevTools.
Other plugins bolt server-side dispatch on top of a third-party tracker URL. Beaconry replaces the tracker domain entirely with a first-party route inside WordPress. The browser never sees a request that an adblocker filter list could match.
~25 to 30 % reach you would otherwise lose to uBlock, Brave Shields and Pi-hole.Google Ads requires a developer token for server-side conversion uploads. Approval takes four to six weeks of back-and-forth with Google. Beaconry runs a central Cloudflare broker that abstracts the token, so customers connect their Ad account via OAuth and start tracking the same day.
The broker only handles the OAuth handshake and proxies upload calls. Your Ad-account credentials and conversion data never touch Beaconry servers, refresh tokens stay encrypted in your WordPress database.
~5 minutes from clicking "Connect with Google" to first conversion in Campaign Manager.Reaching the platform is only half the job. Getting the platform to recognise the user is what lowers your cost per acquisition. Beaconry enriches and canonicalises every identifier server-side, before it is hashed, so your Event Match Quality climbs and Smart Bidding has more signal to optimise on.
An AES-256-GCM encrypted first-party cookie (nl_v) persists a visitor's match keys across every event and session, so a purchase three pages after checkout still carries the email and phone. When the Meta pixel is blocked, Beaconry generates a server-side _fbp, so even adblocked visitors keep a stable identifier the platform can match.
Country, state, ZIP and date of birth are normalised to each vendor's exact spec (ISO country, ISO subdivision, digits-only or alphanumeric ZIP, YYYYMMDD) before the SHA-256 hash. GeoIP then fills any field still empty from the visitor IP. A correctly canonicalised field matches the platform's audience; a raw one silently does not.
Higher Event Match Quality feeds Smart Bidding and Advantage+ the signal that actually lowers CPA.Everything below ships in the plugin today. No add-ons, no upsells, no extra subscription. One plugin file, one license key, every channel.
Events POST to /wp-json/beaconry/v1/event on your own domain. Ten channels fan out from one adblock-immune endpoint. No connect.facebook.net, no analytics.tiktok.com, no rented worker domain in DevTools.
Run server-side only, or load the browser pixel in parallel for first-party fbp/_ttp/li_fat_id cookies. Deduplicated via stable event_id, never double-counted.
Fluent, Kadence, Contact Form 7, WPForms, Gravity, Elementor and Ninja, all auto-detected. Submissions fire as generate_lead events with hashed email, phone, name, ZIP, city across every active channel. Plus per-form drop-off analytics so you see which field stops the conversion.
WooCommerce, EDD and SureCart. The full ten-event WooCommerce funnel, from view_item through add_to_cart, begin_checkout, purchase and refund, with line items, currency and value. Per-order event_id for browser-pixel deduplication.
Two-button banner. Multilingual, accessible, respects EU "no implicit consent" rules. Until the visitor accepts, no event leaves the browser.
Every API token, secret and refresh token is AES-256-GCM encrypted using your WordPress auth salts. Power users can keep credentials in wp-config.php constants instead.
WordPress shows the familiar update notice. Every byte ships from www.beaconry.app/downloads/, never from GitHub or a rented marketplace. Lifetime updates included.
Beaconry does more than ship events to ad platforms. It surfaces what is happening inside the pipeline so you can see if everything flows. Live counters, channel health, anomaly alerts and FX-normalised revenue, all without leaving WordPress.
Per-channel counters with sparkline plus the 50 latest events, refreshed every 30 seconds while the tab is open. No more switching to Meta Events Manager or Campaign Manager just to check today's volume. Pauses when the tab is in the background, zero polling cost when nobody is looking.
One number per channel, blending configuration completeness, recent activity and volume stability. Red, yellow or green badge in each card so you see at a glance whether the channel is healthy, quiet or needs attention. No vendor-API calls, computed entirely from the in-WP counter table.
Daily comparison against a 7-day rolling average. Mail alert on a drop beyond 50 percent, the typical broken-pixel signal, or a spike beyond 4 times the baseline, the typical bot wave. One alert per channel per day, never alert spam. Hear about pixel problems from Beaconry, not from Meta two days later.
Conversion values from non-EUR shops normalise to a single reporting currency before they reach the channels, using the European Central Bank daily reference rates. Unified revenue figures across multi-shop setups, no manual currency wrangling in your reporting tool. Off by default, opt-in per setting.
No simulator, no marketing render. The screens below are the real Beaconry admin once a license is active. Hover the boxes, clicking opens the full-size capture (lightbox).
The Tracking tab. One row per channel, status pill on the right, click into any to enter credentials.
Channel status, last-event timestamp, license card. The page you check first thing in the morning.
Last 200 dispatches with full request and response payload. Filter by channel, event-type or status.
Per-channel: credentials, hybrid-mode toggle, test-event button. Same layout for Meta, TikTok, Google Ads, LinkedIn, GA4, Microsoft Advertising.
OAuth flow, no developer-token approval. Five minutes from clicking Connect to first conversion in Campaign Manager.
Kadence and Fluent forms auto-detected. Pick the event-type per form: Lead, Application, Booking, Newsletter, Contact.
Two-button banner, multilingual, accessible. Edit copy and preview side-by-side. No external CMP required.
These captures are illustrative. The spec on each frame describes what the admin screen shows.
Browser to your own domain. Your own domain to GA4 and Meta. Zero third-party tracker domains in DevTools.
nl-data.js/wp-json/beaconry/v1/eventVerifies nl_pref consent cookie · normalises event-type · hands to BCNR_Forwarder::dispatch()event_id for browser-pixel dedupnl_ext cookie · 14 standard eventsnl_extpage_view, generate_lead, purchase · official endpoint# 01 Install & activate the plugin (PHP 8.3+, WordPress 6.4+) $ wp plugin install beaconry.zip --activate ✓ Plugin 'beaconry' activated. # 02 Enter GA4 + Meta CAPI credentials (or paste into wp-config.php) wp-config.php: define('BCNR_GA4_MEASUREMENT_ID', 'G-XXXXX'); define('BCNR_GA4_API_SECRET', '...'); define('BCNR_META_PIXEL_ID', '1695933868255636'); define('BCNR_META_CAPI_TOKEN', 'EAA...'); ✓ Credentials encrypted at rest (AES-256-GCM). # 03 Events fire automatically, no extra setup, all same-origin POST /wp-json/beaconry/v1/event → 202 ↳ GA4 Measurement Protocol → 200, 47ms ↳ Meta Conversions API → 200, 52ms # 04 Verify within seconds in the official dashboards → GA4 Real-Time view events arriving → Meta Events Manager · Test events arriving
What you actually get when you stop renting tracker domains and start serving signals from your own beacon.
Five third-party domains an adblock filter list can match. Every blocked request is a conversion you never see.
One request, your own domain. An adblocker that blocks /wp-json would break WordPress itself, so it never does. Ten channels fan out server-side from here.
| Beaconry | PixelYourSite Pro | GTM (gtag.js) | GTM Server-Side (Google Cloud Run) | Stape | |
|---|---|---|---|---|---|
| Architecture | |||||
| Where events go | ✓ /wp-json on your domain | connect.facebook.net + others | googletagmanager.com | Custom subdomain (DNS setup) | Stape worker domain |
| Adblocker-resistant by construction | Yes | No (browser tags) | No | Yes (with setup) | Partially |
| Runs on YOUR domain | Yes, your WP install | Browser tags only | No | Yes (your subdomain) | Their subdomain |
| Source-available, auditable | Yes, GPL on GitHub | Yes, GPL | No | Templates yes, engine no | Closed |
| Channel coverage (server-side) | |||||
| Server-side ad platforms supported | 10 native Meta, TikTok, Google Ads, LinkedIn, GA4, Microsoft Ads, Pinterest, Snapchat, Reddit, X Ads | 4 (Meta, TikTok, Pinterest, GA4) | 0 (browser only) | Unlimited via custom tag templates | Unlimited via templates |
| Hybrid Mode (browser pixel + server CAPI auto-dedup) | Auto on 9/10 Vendor-specific keys: event_id, conversion_id, conversionId, eventId | Manual setup per pixel | Browser only, no server | Manual tag config | Manual tag config |
| Google Ads without 4-6 week developer-token wait | Yes, OAuth via shared broker | Bring your own token | n/a (browser) | Bring your own token | Bring your own token |
| Microsoft Ads OfflineConversions API | Yes, OAuth via broker | No | No | Custom template needed | Custom template needed |
| WordPress integration | |||||
| Native form-plugin adapters | 7 plugins Fluent Forms, Kadence (Blocks + Advanced), Contact Form 7, WPForms, Gravity, Elementor, Ninja | 3 (CF7, WPForms, Gravity) | Manual dataLayer push | Manual dataLayer push | Manual dataLayer push |
| Native commerce-plugin adapters | 3 plugins WooCommerce (10-event funnel), Easy Digital Downloads, SureCart | 2 (WC, EDD) | WC dataLayer only | WC dataLayer only | Templates per plugin |
| GDPR consent banner included | Yes, built-in | External CMP needed | External CMP needed | External CMP needed | External CMP needed |
| WPML + Polylang aware | Yes, banner+privacy URL | Partial | n/a | n/a | n/a |
| Operations & observability | |||||
| Live-conversions dashboard inside WP admin | Yes Last 50 events + 30 d per-channel-per-day counters | Per-event log | External (GA4) | External | Stape dashboard |
| Per-channel health score (0-10) | Yes | No | No | No | No |
| Anomaly detection with mail alerts | Yes ≥50 % drop or ≥4× spike, daily | No | No | No | No |
| Multi-currency auto-conversion (ECB rates) | Yes | No | No | Custom template | Custom template |
| PII hashing server-side (SHA-256, GDPR-safe) | Yes, automatic | Browser-side hashing | Plain in dataLayer | Yes, custom code | Yes, templates |
| Cost & lock-in | |||||
| Setup complexity | Low | Low | Medium | High | Medium |
| Pricing model | $69-349 one-time lifetime updates | $99/yr recurring | $0 | $30-500/mo | $20-100/mo |
| 5-year cost (one site) | $69-349 once | ~$495 | $0 | $1,800-30,000 | $1,200-6,000 |
| Vendor lock-in | None, GPL plugin | None, GPL | Google Cloud | Stape | |
PixelYourSite Pro is the closest WordPress-native competitor: same plugin model, but four channels and no server-side OAuth broker for Google Ads or Microsoft Ads. GTM Server-Side via Cloud Run matches Beaconry on dispatch architecture but bills $30-500/month plus tag-template engineering. Beaconry packages the same server-side fan-out as a one-time WordPress install with native commerce + form hooks.
Pricing in USD. 14-day money-back guarantee. VAT and tax handled at checkout.
Agency licenses cover unlimited client-site activations: no cap, no per-site fee. Pay once, use everywhere your agency builds.
Yes. By design. Beaconry ships with a built-in two-button consent banner (nl-data-gate): until the visitor accepts analytics, no events leave the browser and no requests are made. Consent state is stored in a first-party nl_pref cookie. PII fields sent to Meta CAPI (email, phone, name, ZIP, city) are SHA-256 hashed before transmission per Meta's matching guidelines. Server access logs are kept 14 days max for security purposes only. See our Privacy Policy. Note: GDPR compliance always depends on your full setup; Beaconry gives you all the building blocks (consent gate, hashing, no third-party domains, encrypted credentials), but you're responsible for your privacy notice and cookie disclosure.
No, by construction. The endpoint is /wp-json/beaconry/v1/event on your own domain. An adblocker that blocks /wp-json would break WordPress itself. The payload shape is custom JSON, not Meta-Pixel or GA4 wire format, so content-based filter lists cannot identify it as tracking either.
No. The whole point of Beaconry is to replace those. You only need accounts on whichever ad platforms you actually run on (Meta, TikTok, Google Ads, LinkedIn, GA4, Microsoft Advertising, Pinterest, Snapchat, Reddit, X Ads) and Beaconry handles the server-side dispatch. Each channel is configured independently in WordPress admin, you only switch on what you use.
Ten platforms ship in the current release: Meta (Pixel + Conversions API), TikTok (Pixel + Events API), Google Ads (OAuth-connected Conversions API via Beaconry broker, no developer-token wait), LinkedIn (Insight Tag + Conversions API), GA4 (Measurement Protocol), Microsoft Advertising (UET + OfflineConversions API via Beaconry broker), Pinterest (Tag + Conversions API), Snapchat (Pixel + Conversions API), Reddit (Pixel + Conversions API) and X Ads (twq Universal Tag + Conversions API). Nine of the ten support Hybrid Mode with vendor-side event_id deduplication; GA4 keeps a server-only path with transaction_id dedup on purchase. See the full roadmap.
No. Google Ads API server-side dispatch normally requires a developer token from Google, which takes four to six weeks of approval back-and-forth. Beaconry runs a central Cloudflare broker that abstracts the token, so customers connect via OAuth and start tracking the same day. Your Ad-account credentials and refresh tokens stay encrypted in your own WordPress database, the broker only handles the upload proxy. See Google Ads docs.
Yes. If WooCommerce is active, the full ten-event funnel registers automatically: view_item, view_item_list, view_cart, add_to_cart, remove_from_cart, search, begin_checkout, add_payment_info, purchase and refund (classic and block checkout). Order events include line items, currency, and value for revenue attribution. Purchase events use a stable per-order event_id for deduplication if you also run the browser Meta Pixel. Easy Digital Downloads and SureCart get the same funnel minus search.
Beaconry ships with a two-button consent banner (nl-data-gate). Until the visitor accepts analytics, no events leave the browser and no requests are made. The banner is fully accessible (role="dialog", focus management, keyboard navigation) and respects EU "no implicit consent" rules.
Yes. The GA4 API Secret, Meta CAPI access token, and license key are AES-256-GCM encrypted using your WordPress auth salts before being stored in the database. Power users can keep credentials out of the database entirely by defining BCNR_GA4_API_SECRET, BCNR_META_CAPI_TOKEN, etc. as constants in wp-config.php.
Kadence Blocks Form and Fluent Forms are auto-detected. Submissions fire as generate_lead events with hashed PII (email, phone, first/last name, ZIP, city) for Meta CAPI matching. More form plugins are on the roadmap.
14 days, no questions asked. If Beaconry doesn't work for your site, email us and we'll refund. See the Terms of Service for the full refund clause.
Solo covers one production site, Studio covers five, Agency covers unlimited. Dev and staging activations are unlimited on every tier: local builds, staging subdomains, and pre-launch URLs do not count against your seat. One license key per purchase; you decide how to distribute it across the seats your tier covers.
Beaconry has a built-in self-hosted updater. The plugin polls a manifest at www.beaconry.app/downloads/beaconry.json and offers updates via the standard WordPress Plugins screen. No GitHub login, no FTP, no rented marketplace.
Email info@beaconry.app. We usually reply within a working day.
Server-side tracking on your own domain for Meta, TikTok, Google Ads, LinkedIn, GA4, Microsoft Advertising, Pinterest, Snapchat, Reddit and X Ads. Native hooks for WooCommerce, EDD and SureCart plus seven form plugins. One-time payment, lifetime updates, 14-day refund. No Cloud Run bill, no rented worker domain, no six-week Google approval.
✓ 14-day refund ✓ Lifetime updates ✓ All 10 channels included