{"id":376419,"date":"2026-09-28T06:31:19","date_gmt":"2026-09-28T06:31:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/frontconsent\/"},"modified":"2026-09-29T11:52:57","modified_gmt":"2026-09-29T11:52:57","slug":"frontconsent","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/frontconsent\/","author":20355766,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1.2","requires":"5.8","requires_php":"7.0","requires_plugins":null,"header_name":"FrontConsent","header_author":"CloseTechnology","header_description":"GDPR\/ePrivacy-compliant cookie consent banner for WordPress, following the AEPD guide. Configurable banner, Google Consent Mode v2, and tracking integrations that only load after consent.","assets_banners_color":"","last_updated":"2026-09-29 11:52:57","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/frontconsent\/","header_author_uri":"https:\/\/close.technology","rating":0,"author_block_rating":0,"active_installs":0,"downloads":63,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"closetechnology","date":"2026-09-28 06:31:08","revision":3716393},"1.0.1":{"tag":"1.0.1","author":"closetechnology","date":"2026-09-29 11:52:57","revision":3718959}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[283072,20011,35890,389,131785],"plugin_category":[],"plugin_contributors":[248204,210094,131625,181980],"plugin_business_model":[],"class_list":["post-376419","plugin","type-plugin","status-publish","hentry","plugin_tags-aepd","plugin_tags-consent","plugin_tags-cookie-notice","plugin_tags-cookies","plugin_tags-gdpr","plugin_contributors-alexcm13","plugin_contributors-closetechnology","plugin_contributors-davidperez","plugin_contributors-sacrajaimez","plugin_committers-closetechnology"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/frontconsent.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>FrontConsent shows a lightweight, configurable cookie consent banner with Accept and Reject actions, following the guide published by Spain's AEPD (Agencia Espa\u00f1ola de Protecci\u00f3n de Datos) as well as GDPR\/ePrivacy requirements. Rejecting costs the visitor the same number of clicks as accepting, no non-essential cookie is set before the visitor decides, and the decision can be changed at any time.<\/p>\n\n<p>Choose between a full-width bottom bar, a boxed panel (bottom-left or bottom-right) or a centered popup, and customize the message, button labels, cookie policy page, accent color and cookie expiration.<\/p>\n\n<p><strong>Google Consent Mode v2:<\/strong>\nGoogle Tag Manager and\/or GA4 are only requested and loaded after a visitor accepts \u2014 never before \u2014 and returning visitors who already accepted get the scripts on normal page load. Implements Google Consent Mode v2, so it also holds back tracking from other analytics\/ads plugins that respect it \u2014 including <strong>Google Site Kit<\/strong> \u2014 until the visitor decides.<\/p>\n\n<p><strong>Tracking integrations:<\/strong>\nPaste a Google Tag Manager or GA4 ID (or install snippet), or a Clientify, Brevo or ChatGPT Ads snippet, and FrontConsent automatically detects which tool it belongs to and only loads it after consent.<\/p>\n\n<p><strong>Acceptance stats:<\/strong>\nThe settings page shows a simple accepted\/rejected acceptance-rate stat (site administrators are excluded from the count).<\/p>\n\n<p><strong>Advanced Cookie Management (FrontConsent PRO):<\/strong>\nExtend Cookie Notice with separate Necessary, Analytics and Marketing preferences, a customizable preferences dialog and a reusable trigger that lets visitors update their choices later. Google Ads, Meta Pixel and Microsoft Clarity only run after the relevant category is accepted. It also supports the official Meta Pixel for WordPress plugin by holding its Pixel and Conversions API signals until Marketing consent.<\/p>\n\n<p>More information in the <a href=\"https:\/\/close.technology\/en\/wordpress-plugins\/frontconsent-pro\/?utm_source=WordPressORGReadme&amp;utm_medium=link&amp;utm_campaign=frontconsent\">FrontConsent PRO<\/a> page.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin only connects to external services that the site owner explicitly configures \u2014 none are contacted by default. All connections below happen entirely in the visitor's own browser, after that visitor has accepted the relevant cookie category; no data is ever sent from the server.<\/p>\n\n<p><strong>Google Tag Manager \/ Google Analytics 4 (GA4)<\/strong>\nIf a site administrator enters a Google Tag Manager container ID or a GA4 Measurement ID in the plugin settings, the visitor's browser loads the corresponding Google script (<code>https:\/\/www.googletagmanager.com\/gtm.js<\/code> or <code>https:\/\/www.googletagmanager.com\/gtag\/js<\/code>) once the visitor accepts. This sends standard Google Tag Manager\/Analytics data (e.g. page views, and any events the site's own tag configuration adds) to Google.\nService provided by Google: <a href=\"https:\/\/marketingplatform.google.com\/about\/analytics\/terms\/us\/\">Terms of Service<\/a>, <a href=\"https:\/\/policies.google.com\/privacy\">Privacy Policy<\/a>.<\/p>\n\n<p><strong>Clientify Analytics (Plus or classic)<\/strong>\nIf a site administrator adds a Clientify Analytics tracking ID, the visitor's browser loads Clientify's tracking script (<code>https:\/\/analyticsplusdev.clientify.net<\/code> or <code>https:\/\/analytics.clientify.net<\/code>) once the visitor accepts, sending page-view and visitor tracking data to Clientify.\nService provided by Clientify: <a href=\"https:\/\/clientify.com\/terminos-y-condiciones\/\">Terms of Service<\/a>, <a href=\"https:\/\/clientify.com\/politica-de-privacidad\/\">Privacy Policy<\/a>.<\/p>\n\n<p><strong>Brevo<\/strong>\nIf a site administrator adds a Brevo tracking snippet, the visitor's browser loads Brevo's SDK (<code>https:\/\/cdn.brevo.com\/js\/sdk-loader.js<\/code>) once the visitor accepts, sending visitor tracking data to Brevo.\nService provided by Brevo: <a href=\"https:\/\/www.brevo.com\/legal\/termsofuse\/\">Terms of Service<\/a>, <a href=\"https:\/\/www.brevo.com\/legal\/privacypolicy\/\">Privacy Policy<\/a>.<\/p>\n\n<p><strong>ChatGPT Ads (OpenAI)<\/strong>\nIf a site administrator adds a ChatGPT Ads Pixel ID, the visitor's browser loads OpenAI's ads pixel script (<code>https:\/\/bzrcdn.openai.com\/sdk\/oaiq.min.js<\/code>) once the visitor accepts, sending conversion\/attribution tracking data to OpenAI.\nService provided by OpenAI: <a href=\"https:\/\/openai.com\/policies\/terms-of-use\/\">Terms of Use<\/a>, <a href=\"https:\/\/openai.com\/policies\/privacy-policy\/\">Privacy Policy<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/frontconsent<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Configure the banner under Settings \u2192 FrontConsent.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"i%20was%20using%20frontblocks%27%20cookie%20notice.%20what%20happens%20now%3F\"><h3>I was using FrontBlocks' Cookie Notice. What happens now?<\/h3><\/dt>\n<dd><p>Activating FrontConsent copies your existing Cookie Notice settings and acceptance\/rejection stats from FrontBlocks into FrontConsent automatically, and turns off FrontBlocks' own banner so only one is ever shown.<\/p><\/dd>\n<dt id=\"does%20this%20store%20consent%20records%20for%20audit%20purposes%3F\"><h3>Does this store consent records for audit purposes?<\/h3><\/dt>\n<dd><p>The free version keeps a simple aggregate accepted\/rejected count. Per-visitor consent logging and cookie scanning are part of the planned Pro version.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Settings page now uses tabs, so a companion plugin can add its own tab via the new <code>frontconsent_settings_tabs<\/code> filter, rendering its panel on either <code>frontconsent_settings_form_tab_panels<\/code> (fields saved through the main settings form) or <code>frontconsent_settings_tab_panels<\/code> (a panel with its own form, e.g. FrontConsent PRO's License tab).<\/li>\n<li>Added a FrontConsent PRO upsell tab and an inline promo link on the Cookie Notice tab, shown only when FrontConsent PRO isn't installed.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: cookie consent banner (full-width bar, boxed panel or centered popup) with Accept\/Reject actions, custom message, accent color and expiration, extracted from FrontBlocks Site Tools' Cookie Notice module.<\/li>\n<li>Google Tag Manager and GA4 only load after consent is accepted; Google Consent Mode v2 support holds back tracking from other analytics\/ads plugins (including Google Site Kit) until the visitor decides.<\/li>\n<li>Automatic migration of settings and stats from FrontBlocks' bundled Cookie Notice module.<\/li>\n<\/ul>","raw_excerpt":"GDPR\/ePrivacy-compliant cookie consent banner for WordPress, following the Spanish AEPD guide.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/376419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=376419"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/closetechnology"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=376419"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=376419"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=376419"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=376419"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=376419"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=376419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}