Tracking and Consent Manager – WP Full Picture
WP Full Picture is a tracking manager for WordPress and WooCommerce. It lets you install tracking tools, display a GDPR-compliant consent banner and block tracking until visitors give their consent. WP Full Picture replaces: Tracking plugins, like PixelYourSite, Pixel Manager for WooCommerce or Google Site Kit, GTM plugins, like GTM4WP, Consent Management Platforms, like CookieBot, CookieYes, Complianz and others. 🎁 WHAT’S INCLUDED 16 ready-to-use integrations with tools like Google Analytics, Google Ads, Meta Pixel, and more Built-in, pre-configured consent banner Google Consent Mode v2 and Microsoft UET Consent Mode support Google Tag Manager integration Comprehensive WooCommerce tracking …and much more 🧩 INTEGRATIONS Connect all your favorite tracking and analytics tools in minutes — no coding, no chaos. WP Full Picture comes with ready-to-use integrations that help you understand your visitors, optimize your campaigns, and grow your business — all while staying compliant. Google Analytics learn more Google Ads learn more Meta Pixel learn more Pinterest Ads tag learn more Hotjar learn more Twitter / X learn more Microsoft Advertising learn more Microsoft Clarity learn more LinkedIn Insights Tag learn more TikTok Pixel learn more Plausible Analytics learn more Matomo learn more Inspectlet learn more Crazy Egg learn more PostHog (installation only) Simple Analytics (installation only) Need something else? Install more tools with the built-in Google Tag Manager integration (advanced) or a Custom Integrations module (quick and simple). All tools installed with outhese modules work seamlessly with the built-in consent banner and consent management system — so every tool runs in full compliance. 🍪 CONSENT BANNER WP FP comes with a GDPR-compliant consent banner that just works — no setup headaches, no cookie scans, no limits. It comes with Google Consent Mode v2 and Microsoft UET Consent Mode built-in, so you can safely collect traffic insights, run ad campaigns and track conversions. The banner automatically manages all your tracking tools that you installed with WP Full Picture, ensuring your site stays compliant with privacy laws while you keep gathering valuable data. No complicated setup. No third-party cookie scanners. 👁️ ADVANCED TRACKING With WP Full Picture you can track: WooCommerce events (see below) Clicks in affiliate links, contact links, buttons and other page elements Form submissions Views of popups, ads and pricing tables Page types, categories, tags User roles and statuses and more You can track it with the tools installed with WP FP or push this data to Google Tag Manager’s dataLayer. Whatever you prefer. [PRO] With WP Full Picture Pro, you go one step further and unlock business-oriented features like: Server-side tracking with Meta CAPI and Measurement Protocol Google Tag Gateway via Cloudflare Advanced Matching / Enhanced conversions tracking Custom events builder Visitor scoring (for measuring the quality of traffic sources) Metadata tracking JavaScript error tracking and more 🛒 WOOCOMMERCE TRACKING WP Full Picture tracks all major WooCommerce events in 14 tracking tools, including Google Analytics, Google Ads, Meta Pixel, and Google Tag Manager. It tracks key actions like: Product views and list views Additions to cart Starting checkout Completed purchases Coupon usage and more Every event includes detailed product information for accurate conversion tracking and smarter ad targeting. [PRO] The Pro version adds: Status-based order tracking (for higher accuracy) Server-side tracking with Meta Capi and Measurement Protocol (to better avoid ad blockers) Enhanced conversions and advanced matching (for better conversion attribution and ad optimisation) 📈 STATISTICS IN WP ADMIN With WP Full Picture, you can embed reports with statistics from Google Looker Studio, Databox, and other BI platforms – directly in your WP admin. 💎 WP FULL PICTURE FREE vs PRO See Free vs Pro comparison Quizz: Check if Pro is for you
Top keywords
- tracking17×2.87%
- google15×2.53%
- learn14×2.36%
- wp13×2.20%
- consent12×2.03%
- full10×1.69%
- full picture9×1.52%
- picture9×1.52%
- wp full9×1.52%
- wp full picture9×1.52%
- pro7×1.18%
- tag7×1.18%
Pagemetrics for Matomo
Pagemetrics for Matomo adds privacy-friendly, server-side analytics to WordPress by leveraging the pagemachine/matomo-tracking PHP library. When enabled, the plugin sends page view and optional download events from your WordPress site directly to a Matomo instance without loading Matomo’s JavaScript tracker. Key benefits: Track page views on the server with full control over attributes such as title, URL and referrer. Optional download tracking rewrites file links and records the click before redirecting visitors. Optional AI assistant bot tracking detects crawls from ChatGPT, Claude, Perplexity and others and forwards them to Matomo’s dedicated AI Assistants report. Multisite aware – network admins can define defaults, individual sites can override them. Respects Do Not Track and Global Privacy Control headers through the underlying library. Logs issues to the WordPress debug log when WP_DEBUG is enabled. Looking for expert help with Matomo or server-side tracking? Pagemachine offers consulting, implementation and ongoing support via our Pagemetrics solution. More info: Pagemetrics.eu Developer Hooks Page view tracking: pm_matomo_tracking_should_track_request — Return false to skip page view tracking for the current request. pm_matomo_tracking_visitor_ip — Override the visitor IP forwarded to Matomo as cip (defaults to REMOTE_ADDR; used for page views and downloads when an auth token is set). Return an empty string to skip IP forwarding. Download tracking: pm_matomo_tracking_should_rewrite_downloads — Return false to keep original download URLs for the current post. pm_matomo_tracking_is_download_url — Decide whether a specific URL should be rewritten (receives URL and default extension list). pm_matomo_tracking_download_extensions — Adjust the list of file extensions that count as downloads. pm_matomo_tracking_download_url — Customize the generated redirect URL used for download tracking. pm_matomo_tracking_download_redirect_status — Change the HTTP status code used when redirecting to the original file. AI assistant bot tracking: pm_matomo_tracking_ai_bot_user_agents — Extend or replace the list of User-Agent substrings used to detect AI bots. General: pm_matomo_tracking_log_message — Listen to debug messages emitted while WP_DEBUG is enabled. Example usages // Skip tracking for administrators. add_filter('pm_matomo_tracking_should_track_request', static function ($shouldTrack) { return current_user_can('manage_options') ? false : $shouldTrack; }); // Keep original download URLs on the privacy policy page. add_filter('pm_matomo_tracking_should_rewrite_downloads', static function ($shouldRewrite) { return is_page('privacy-policy') ? false : $shouldRewrite; }); // Force CDN assets to be treated as downloads. add_filter('pm_matomo_tracking_is_download_url', static function ($decision, $url) { return str_contains($url, 'cdn.example.com/assets/') ? true : $decision; }, 10, 2); // Add extra file types to download tracking. add_filter('pm_matomo_tracking_download_extensions', static function ($extensions) { $extensions = array_merge($extensions, ['svg', 'heic']); return array_unique($extensions); }); // Append a checksum to rewritten download URLs. add_filter('pm_matomo_tracking_download_url', static function ($trackingUrl, $target, $label) { $checksum = substr(hash('sha256', $target . $label), 0, 12); return add_query_arg('pm_checksum', $checksum, $trackingUrl); }, 10, 3); // Use a 307 redirect instead of the default 302. add_filter('pm_matomo_tracking_download_redirect_status', static function () { return 307; }); // Add a custom bot to AI assistant tracking. add_filter('pm_matomo_tracking_ai_bot_user_agents', static function (array $substrings): array { $substrings[] = 'MyCustomBot'; return $substrings; }); // Behind a reverse proxy: forward the real client IP from X-Forwarded-For. add_filter('pm_matomo_tracking_visitor_ip', static function ($ip, $request) { $forwarded = $request->getHeaderLine('X-Forwarded-For'); if ($forwarded === '') { return $ip; } // Use the first (client) address in the list. return trim(explode(',', $forwarded)[0]); }, 10, 2); // Forward debug messages to the PHP error log while developing. add_action('pm_matomo_tracking_log_message', static function ($level, $message) { if (!defined('WP_DEBUG') || WP_DEBUG !== true) { return; } // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_error_log error_log(sprintf('[Pagemetrics for Matomo][%s] %s', strtoupper((string) $level), $message)); }, 10, 2);