=== My Agile Pixel® - Self-Hosted Server-Side Tracking for WordPress ===
Contributors: FormulaAgile
Donate link: https://www.myagilepixel.com/
Tags: server-side tracking, conversions api, ga4, meta pixel, tiktok
Requires at least: 5.2
Tested up to: 7.1
Stable tag: 3.4.0
Requires PHP: 5.6.20
License: GPLv3
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Recover the conversions the browser blocks: server-side tracking for GA4, Meta and TikTok, self-hosted on your WordPress, only after consent.

== Description ==

Client-side tracking can no longer be trusted. Safari, Brave and ad blockers wipe cookies, scrub click IDs and stop your events: industry estimates put the loss at up to 30-40% of your conversions. You are paying for advertising that returns less than it should.

**My Agile Pixel® moves your tracking server-side, on your own WordPress server.** Your events leave from your domain, pass through your server and arrive wherever you decide: Google Analytics 4, Meta (Conversions API), TikTok (Events API) and Google Ads conversion tracking. The proxy level is adjustable from the dashboard, whether you want maximum performance or stronger privacy compliance.

**Nothing is sent before consent.** My Agile Pixel® integrates with the leading consent management platforms - My Agile Privacy®, Iubenda, Cookiebot, CookieYes and Complianz - and data can be filtered or anonymized before leaving your server.

While the browser erodes your data, your server does the opposite: it protects attribution, preserves user identity and enriches every event before sending. These are the four superpowers of My Agile Pixel®: **Cookie Vault, Attribution Anchor, Adblock Bypass and Enhanced Conversions**. And you do not have to take our word for it: the statistics panel shows how many conversions you recovered and what they are worth.

It does more than forward your tags: WooCommerce purchase events and form submissions for lead generation travel server-side too. If you already use the ga4() or fbq() syntax on your pages, it keeps working: the events simply travel through your server.

**Count the actions that matter to you, without writing code.** Your best customers do not always fill in a form: they tap your phone number, open a WhatsApp chat, download your price list. With the custom events builder you decide which of these actions count as a result. Start from a template, or point at the button on your page and click it, and My Agile Pixel® sends the event to Meta, Google Analytics 4 and TikTok with the name each platform knows, only after the visitor has accepted the cookies.

My Agile Pixel® comes from the makers of My Agile Privacy®, from people who build privacy compliance every day.

Requirements: WooCommerce 3.0 or later for WooCommerce tracking.

== Key Features ==
- ⭐ The four superpowers: Cookie Vault, Attribution Anchor, Adblock Bypass and Enhanced Conversions

- 🚀 Server-side tracking on your own WordPress server: self-hosted, first-party, flat rate

- ⚡️ Statistics panel: how many conversions you recovered, and what they are worth

- ⭐ Google Analytics 4, Meta Conversion API, TikTok Events API and Google Ads conversion tracking

- 🚀 Custom user properties in Google Analytics 4, to sharpen your segments and your marketing

- ⚡️ WooCommerce events tracked server-side, in compliance with GDPR

- ⭐ Form submissions sent server-side for lead generation (Contact Form 7, WPForms, Fluent Forms, Elementor and any other form)

- 🚀 Custom events builder: count phone taps, WhatsApp chats, downloads, thank-you pages, scrolls and video starts - no code, no Tag Manager

- 🚀 Compatible with My Agile Privacy®, Iubenda, Cookiebot, CookieYes and Complianz

- ⚡️ Works with Google Tag Manager, but does not require it

- ⭐ Consent comes first: nothing leaves your server before the visitor says yes

- 🚀 New admin dashboard with a five-step setup wizard

- ⚡️ Import / export your settings in one click

== Frequently Asked Questions ==

= What does this plugin do? =
This plugin will:
1. Move your Google Analytics 4, Meta, TikTok and Google Ads tracking server-side, on your own WordPress server
2. Recover the conversions that Safari, ITP and ad blockers take away, and measure them
3. Keep you compliant with GDPR: anonymous IP, and no personal data sent without consent

= Do I need Google Tag Manager? =
No. My Agile Pixel® works with Google Tag Manager, but it does not require it. If you already use the ga4() or fbq() syntax on your pages, it keeps working: the events simply travel through your server.

= Can I track clicks on my phone number or WhatsApp button? =
Yes. Open Custom events, start from the “Click on the phone number” or “Click on WhatsApp” template and save: every tap is sent to Meta, Google Analytics 4 and TikTok as a contact, once the visitor has accepted the cookies. If your WhatsApp button is a floating bubble added by another plugin, choose “Clicks an element” and click the bubble on your page.

= Does tracking respect the visitor's consent? =
Yes. My Agile Pixel® integrates with My Agile Privacy®, Iubenda, Cookiebot, CookieYes and Complianz. No event leaves your server before the visitor has given consent.

== The Four Superpowers ==

With My Agile Pixel® you do more than forward tags: you unlock capabilities that simply do not exist in the browser. While Safari, Brave and ad blockers erode cookies, click IDs and events, your server does the opposite: it protects attribution, preserves user identity and enriches data before sending. These are the four superpowers that turn tracking from fragile into browser-proof.

**Cookie Vault** - Your users stay recognizable even when the browser tries to forget them. Long funnels, remarketing and multi-touch attribution keep working where client-side loses the thread after a few days: you recover the conversions that mature weeks later, and you stop leaving repeat buyers to chance.

**Attribution Anchor** - You always know which campaign generated the conversion, even when Safari and Brave scrub the URL. The conversion stays anchored to the channel that produced it: every paid traffic source keeps seeing which ad actually converted, and your ROAS stops vanishing into thin air.

**Adblock Bypass** - Ad blockers have nothing left to block. Events no longer leave from the third-party domains that blocklists spot at a glance, but from your own domain, in first-party: to the ad blocker they are legitimate site traffic, not a pixel to stop. One user in three runs an ad blocker: that is a third of your conversions that client-side leaves invisible.

**Enhanced Conversions** - You feed the algorithms better quality data. Events and conversions are matched to the right user more precisely: match rates go up, attribution becomes more reliable, and campaigns optimize on quality signals instead of partial data. More matches means more recognized conversions, and budget spent better.

== Statistics Panel ==

Know what server-side tracking gives you back. The dashboard tells processed events apart from those recovered by Cookie Vault, Attribution Anchor and ad-block recovery: the ones that would never have arrived otherwise. It also estimates their value across purchases and leads, so the difference shows in the numbers, not in promises.

== Custom Events Builder ==

Not every result is a purchase or a form. A visitor who taps your phone number, opens WhatsApp or downloads your catalog is telling you something: the custom events builder turns these actions into events your campaigns can learn from.

**Start from a template.** Click on the phone number, the email address or WhatsApp, a thank-you page, a click on a button, a PDF download, reading to the end of a page, a copied phone number or email, a “Copy code” button, the start of a video, and the choice of a product variant on WooCommerce. The event opens already filled in: change what you need and save.

**Point and click on your page.** No need to know CSS: open your page with the visual picker and click the button you want to count. If you prefer, you can still type a CSS selector.

**Seven kinds of action.** A page visit (optionally only after the visitor has stayed a while), a click on an element, a click on a link (phone, email, WhatsApp, a file, another website, an address that contains a text), a change of choice such as size or color, a copied text, how far down the page the visitor scrolls, and the start of a YouTube, Vimeo or self-hosted video.

**The right name for every platform.** Choose what the action means - a contact, a quote request, a booking, a sign-up, a download, a video started and more - and each platform receives its own standard name. Add a value, a currency and extra details to tell similar events apart.

**You decide how often.** Every time, once per page or once per visit. Before saving, one sentence in plain words sums up what your event will do.

**Privacy built in.** Only what the visitor does after accepting the cookies is counted. Names and extra details that look like personal data are refused, and a copied text is counted, never read.

**See it work.** In debug mode a line in the admin bar shows each event as it fires, and the statistics panel lists what reached each platform.

== From the Makers of My Agile Privacy® ==

My Agile Pixel® comes from the people who build privacy compliance every day. That is why we can offer you a service that raises the quality of your tracking and cuts wasted ad spend, without costing you compliance. Performance and privacy, on the same side.

== Support and Updates ==

**My Agile Pixel® is regularly updated and maintained.**
Our support is provided exclusively by humans, not chatbots or AI, and can be reached [here](https://www.myagilepixel.com/en/contact-us/).

**Other links:**
* [Official Website](https://www.myagilepixel.com/)

== Installation ==

Installation is easy and fast. Just go to your WordPress dashboard, then Plugins > Add New.
From the search filter, search for the My Agile Pixel® plugin. Press the install button and then activate the plugin.

== Screenshots ==

1. Dashboard: license, cookie banner and channels at a glance
2. Setup wizard: get started in five steps
3. Statistics: events sent to each platform and events recovered
4. Event log: check that each event reached the platform
5. General settings and superpowers
6. Custom events: your list, ready-made templates and on/off switches
7. Custom event editor: choose what the visitor does, in plain words
8. Automatic form tracking: Contact Form 7, WPForms, Fluent Forms
9. WooCommerce tracking: views, carts, checkouts and purchases
10. Google Analytics 4 settings
11. Meta settings
12. TikTok settings
13. User properties
14. Backup and restore of your settings

== Changelog ==

= 3.4.0 =
* Superpowers section in General settings: Cookie Vault, Attribution Anchor and Adblock Bypass status at a glance, with Adblock Bypass always active
* Cookie Vault: server-side cookies (MYPX_s_*) restore the tracking IDs after Safari ITP clears the JavaScript cookies
* Attribution Anchor: click ID backup parameters (mapxgclid, mapxfbclid, mapxttclid) keep the campaign attribution when Safari and Brave strip the click IDs from the URL
* Enhanced Conversions for GA4, Advanced Matching for Meta, and TikTok Events API 2.0 with advanced matching
* Statistics panel: processed events vs events recovered by Cookie Vault, Attribution Anchor and ad-block recovery, with the estimated value of recovered WooCommerce purchases and leads
* New admin dashboard with a five-step setup wizard: license, consent platform, superpowers, channels, statistics
* Integrations: form submissions sent server-side, with support for Contact Form 7, WPForms, Fluent Forms, Elementor and manual forms
* WooCommerce tracking revised: more accurate cart, checkout and purchase events, new product search and registration events, store events delivered also on cached pages (new first-party cookie mapx_pending, no identifier, 30 minutes: list it in your cookie policy)
* Import / export of plugin settings, a dedicated "myagilepixel_edit_options" capability and a new License tab with expired-license notice
* Event blacklist per channel: separate lists for GA4, Meta and TikTok
* Better page performance: the scripts load with the defer attribute
* Better compatibility with caching and optimization plugins: WP Rocket exclusion and deferred execution, data-no-minify support
* Full code review for PHP 8 warnings and errors
* Polylang compatibility fix
* Tested for compatibility with WordPress 7.1
* Meta Conversions API version upgrade

= 3.0.8
* Minor php fix
* Added consent-skip-blocker attribute for JavaScript

= 3.0.7
* Better WordPress compatibility
* Better cdn sync via manifest file
* Security hardening
* Proxy functionality also for fetch calls
* Added compatibility option for JavaScript and GA
* Better Meta Pixel server side compatibility and error tracking

= 3.0.6
* dns-prefetch / preconnect optimizations
* minor fixes

= 3.0.5 =
* Better Meta event quality and API version number
* Minor php fix

= 3.0.4 =
* WordPress 6.5 compatibility
* Better internal sync method

= 3.0.3 =
* GA4 event tracking fix
* Fix for advanced debugging
* Fix for broken WooCommerce is_order_received_page() function
* Better internal files caching

= 3.0.2 =
* Added support for Facebook Custom event
* Added fbc parameter for Facebook Server Side
* CloudFlare minor fix

= 3.0.1 =
* WooCommerce minor fix
* Minor Js optimizations

= 3.0.0 =
* Added support for Google Ads Conversion and Consent Mode
* Js refactoring
* Other minor fix

= 2.2.4 =
* Better compatibility for servers with SSL stale certificates
* WordPress 6.4 compatibility
* Bugfix

= 2.2.3 =
* Consent mode fix
* Remote options deploy logic from customer private area

= 2.2.2 =
* Bugfix and better admin bar error display

= 2.2.1 =
* Improved compatibility for older Wordpress version (4.2)

= 2.2.0 =
* Added support for GA4 custom user property
* Better support and proxification for Google Tag Manager
* Support for originating sending IP (client or server)
* Warning if trying to use Facebook Event Configuration Tool
* Cloudflare Rocket Loader optimization

= 2.1.1 =
* Bugfix

= 2.1.0 =
* Ga4 ad fbq function hardening against overwrite
* Added autoupdate setting
* Added settings to distinguish between desktop and mobile users
* Added support for remove from cart GA event
* Code optimizazion and refactoring
* Admin better status messages

= 2.0.13 =
* Consent mode bugfix

= 2.0.12 =
* Bugfix for PHP version 8 and greater

= 2.0.11 =
* Complianz support
* Internal optimization and speed up
* Bugfix

= 2.0.10 =
* Ga4 consent mode support

= 2.0.9 =
* WooCommerce tracking event fix
* Removed jQuery dependency

= 2.0.8 =
* Facebook Conversion API source fix due to Meta update

= 2.0.7 =
* Bugfix

= 2.0.6 =
* Bugfix for .xml / xsl file
* Better file caching handling
* Added events blacklist functionality

= 2.0.5 =
* Fix for PHP version < 7
* Minor fixings

= 2.0.4 =
* Added internal file caching
* Ga4 conversion fix

= 2.0.3 =
* Bug fix

= 2.0.2 =
* Bug fix
* Added compatibility for older WordPress version (< 4.7)
* Added compatibility for Rank Math

= 2.0.1 =
* WooCommerce Fix
* Minor bug fix
* Added compatibility for older WordPress version (< 4.7)
* Added compatibility for Rank Math

= 2.0.0 =
* Debug bar for admin
* Better performances
* Code refactoring for backend part
* Added option to block non-compliant scripts
* Template preview block (Elementor, Divi)
* Added compatibility mode / head inject mode
* DNS prefetch / preconnect attributes

= 1.0.8 =
* Support for IP blacklist for testing purpose
* UI review
* Support for GA "user_id" parameter
* Support for “no consent manager” mode

= 1.0.7 =
* Elementor / WooCommerce bug fix

= 1.0.6 =
* Bug fix

= 1.0.5 =
* Debug bar for site administrators
* Compatibility fix for WooCommerce

= 1.0.4 =
* Cookiebot fix
* WooCommerce fix
* Added support for GDPR Cookie Consent
* Better compatibility for older WP version (<5.0)

= 1.0.3 =
* Added WooCommerce support

= 1.0.2 =
* Minor fixings and GA optimizations

= 1.0.1 =
* Minor fixings (warning suppressed)

= 1.0.0 =
* First public release
