{"id":348868,"date":"2026-08-14T11:50:49","date_gmt":"2026-08-14T11:50:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/consentcook\/"},"modified":"2026-08-14T11:58:55","modified_gmt":"2026-08-14T11:58:55","slug":"consentcook","status":"publish","type":"plugin","link":"https:\/\/ibo.wordpress.org\/plugins\/consentcook\/","author":23541479,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.0.4","requires":"5.7","requires_php":"7.4","requires_plugins":null,"header_name":"ConsentCook","header_author":"ConsentCook","header_description":"Securely connects WordPress to ConsentCook and adds the consent widget to every public page.","assets_banners_color":"f1e5e1","last_updated":"2026-08-14 11:58:55","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/consentcook.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":56,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"lewisgmorris","date":"2026-08-14 11:58:55"}},"upgrade_notice":{"1.1.0":"<p>The loader now goes through WordPress&#039;s script API. Load order is unchanged:\nConsentCook still runs before analytics and marketing tags.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3647285,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3647285,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3647285,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3647285,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3647285,"resolution":"1","location":"assets","locale":"","width":1290,"height":770},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3647285,"resolution":"2","location":"assets","locale":"","width":2542,"height":620},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3647285,"resolution":"3","location":"assets","locale":"","width":1300,"height":700},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3647285,"resolution":"4","location":"assets","locale":"","width":2540,"height":1270},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3647285,"resolution":"5","location":"assets","locale":"","width":2540,"height":1273}},"screenshots":{"1":"Settings \u2192 ConsentCook before connecting: one button, and the manual site-key fallback.","2":"Choosing which ConsentCook site this WordPress install belongs to.","3":"Settings \u2192 ConsentCook once connected, showing what is being published to the site.","4":"The consent banner on the front end, styled from the ConsentCook dashboard.","5":"The privacy preferences panel, where a visitor chooses category by category."}},"plugin_section":[],"plugin_tags":[157560,20011,223629,389,131785],"plugin_category":[],"plugin_contributors":[275712],"plugin_business_model":[],"class_list":["post-348868","plugin","type-plugin","status-publish","hentry","plugin_tags-cmp","plugin_tags-consent","plugin_tags-consent-mode","plugin_tags-cookies","plugin_tags-gdpr","plugin_contributors-lewisgmorris","plugin_committers-lewisgmorris"],"banners":{"banner":"https:\/\/ps.w.org\/consentcook\/assets\/banner-772x250.png?rev=3647285","banner_2x":"https:\/\/ps.w.org\/consentcook\/assets\/banner-1544x500.png?rev=3647285","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/consentcook\/assets\/icon-128x128.png?rev=3647285","icon_2x":"https:\/\/ps.w.org\/consentcook\/assets\/icon-256x256.png?rev=3647285","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/consentcook\/assets\/screenshot-1.png?rev=3647285","caption":"Settings \u2192 ConsentCook before connecting: one button, and the manual site-key fallback."},{"src":"https:\/\/ps.w.org\/consentcook\/assets\/screenshot-2.png?rev=3647285","caption":"Choosing which ConsentCook site this WordPress install belongs to."},{"src":"https:\/\/ps.w.org\/consentcook\/assets\/screenshot-3.png?rev=3647285","caption":"Settings \u2192 ConsentCook once connected, showing what is being published to the site."},{"src":"https:\/\/ps.w.org\/consentcook\/assets\/screenshot-4.png?rev=3647285","caption":"The consent banner on the front end, styled from the ConsentCook dashboard."},{"src":"https:\/\/ps.w.org\/consentcook\/assets\/screenshot-5.png?rev=3647285","caption":"The privacy preferences panel, where a visitor chooses category by category."}],"raw_content":"<!--section=description-->\n<p>ConsentCook shows your visitors a cookie banner, records their choices, and\nholds tracking back until they have said yes. This plugin connects your\nWordPress site to your ConsentCook account and places the banner on every\npage for you \u2014 nothing to paste, and nothing in your theme to edit.<\/p>\n\n<p>Everything about the banner \u2014 how it looks, what it says, which languages and\nregions it covers \u2014 is managed in your ConsentCook dashboard, and anything you\npublish there reaches your site on its own. The plugin's only job is the\nconnection, and it makes sure the banner loads before any tracking does.<\/p>\n\n<p><strong>Connecting takes about a minute.<\/strong> Press <em>Connect ConsentCook<\/em> in the\nplugin's settings, sign in, choose your site, and you are done. Your\nConsentCook password stays with ConsentCook \u2014 WordPress never sees it \u2014 and\nuntil you connect, the plugin does nothing at all.<\/p>\n\n<p>ConsentCook has a free plan for one site with no card needed, and nothing in\nthis plugin is locked behind payment.<\/p>\n\n<h4>For developers<\/h4>\n\n<ul>\n<li>The banner script is placed at the earliest point of the page head, so\nconsent is resolved before analytics and marketing tags run. If a theme\nhard-codes analytics above the head output, move those tags after\nConsentCook.<\/li>\n<li>When the WP Consent API plugin is active, ConsentCook keeps its consent\ncategories in sync with it.<\/li>\n<li>Sites enforcing a strict nonce-based Content Security Policy can supply the\nrequest nonce through the <code>consentcook_csp_nonce<\/code> filter.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects your site to ConsentCook (https:\/\/consentcook.com), the\nservice that provides the banner. Once connected:<\/p>\n\n<ul>\n<li>Every public page loads the banner script and your site's published banner\nsettings from consentcook.com.<\/li>\n<li>When a visitor makes a choice on the banner, that choice is sent to\nConsentCook so it can be recorded and enforced.<\/li>\n<li>If the banner hits a problem in a visitor's browser, a limited error report\nmay be sent to ConsentCook so it can be fixed. No other visitor data is\ncollected by the plugin itself.<\/li>\n<\/ul>\n\n<p>Pressing Connect opens ConsentCook so you can sign in there; your password\nstays with ConsentCook and is never shared with this site.<\/p>\n\n<p>While an administrator has the plugin's settings page open, the site also\nfetches your published banner settings so the screen can show what is live.\nThat request identifies your site only by its public key, carries no visitor\ndata, and is remembered for five minutes. If your host blocks outgoing\nrequests, the screen says so and everything else keeps working.<\/p>\n\n<p>Terms: https:\/\/consentcook.com\/legal\/terms\nPrivacy policy: https:\/\/consentcook.com\/legal\/privacy-policy<\/p>\n\n<!--section=installation-->\n<ol>\n<li>In WordPress, go to Plugins \u2192 Add New Plugin and search for <strong>ConsentCook<\/strong>.<\/li>\n<li>Press Install Now, then Activate.<\/li>\n<li>Go to Settings \u2192 ConsentCook.<\/li>\n<li>Press Connect ConsentCook, sign in, choose your site, and allow the connection.<\/li>\n<\/ol>\n\n<p>If the connect step will not go through on your host, open \u201cEnter a site key\nmanually\u201d and paste the public site key shown on your ConsentCook setup page.\nEverything works the same afterwards.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20consentcook%20account%3F\"><h3>Do I need a ConsentCook account?<\/h3><\/dt>\n<dd><p>Yes \u2014 the plugin is the bridge between your site and ConsentCook, so it does\nnothing until you connect one. The free plan covers one site and does not ask\nfor a card.<\/p><\/dd>\n<dt id=\"what%20does%20the%20plugin%20store%20on%20my%20site%3F\"><h3>What does the plugin store on my site?<\/h3><\/dt>\n<dd><p>Almost nothing: your site's public key and whether the banner is switched on.\nYour ConsentCook password is never seen or stored by WordPress.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20deactivate%20it%20or%20never%20connect%3F\"><h3>What happens if I deactivate it or never connect?<\/h3><\/dt>\n<dd><p>Nothing at all \u2014 the banner is not shown and your site does not contact\nConsentCook.<\/p><\/dd>\n<dt id=\"who%20is%20responsible%20for%20my%20visitors%27%20data%3F\"><h3>Who is responsible for my visitors' data?<\/h3><\/dt>\n<dd><p>You remain the data controller for your site. ConsentCook acts as a processor\nfor the consent choices recorded and enforced through the service.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>The settings screen now shows what ConsentCook is publishing to this site:\nhow many categories and languages the banner covers, which regions it has\nrules for, and whether trackers are held before consent. It reads the same\npublic configuration a visitor's browser downloads, and the screen stays\ncomplete when a host blocks outgoing requests.<\/li>\n<li>Being connected but switched off now says so, instead of looking the same as\nnever having connected.<\/li>\n<li>Links through to ConsentCook, including for sites that have not connected yet.<\/li>\n<li>The loader is now registered through WordPress's script API instead of being\nprinted by hand. It still prints at the earliest head priority, so consent is\nstill resolved before analytics and marketing tags run.<\/li>\n<li>The site key is attached through <code>script_loader_tag<\/code>, which applies on every\nsupported WordPress version.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Complete connections on hosts that block outbound loopback requests.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Ship the connector the source actually contains.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Secure one-click account connection with PKCE.<\/li>\n<li>Canonical early widget injection with styling kept in ConsentCook.<\/li>\n<li>Manual public-site-key fallback and WP Consent API support.<\/li>\n<\/ul>","raw_excerpt":"Puts your ConsentCook cookie banner on your WordPress site. Connect once and it&#039;s done \u2014 nothing to paste, nothing to edit.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/348868","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=348868"}],"author":[{"embeddable":true,"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/lewisgmorris"}],"wp:attachment":[{"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=348868"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=348868"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=348868"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=348868"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=348868"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=348868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}