=== CookieFrame - Cookie Consent & Compliance === Contributors: cookieframe Tags: cookies, cookie-consent, cookie-banner, gdpr, ccpa Requires at least: 6.0 Tested up to: 6.9 Requires PHP: 7.4 Stable tag: 1.0.1 License: GPL-2.0-or-later License URI: https://www.gnu.org/licenses/gpl-2.0.html Free cookie consent banner for GDPR & CCPA. Auto geo-detection, script blocking, multi-language, and Google Consent Mode v2. == Description == CookieFrame adds a free, fully customizable cookie consent banner to your WordPress site. It automatically detects your visitor's location and shows the right compliance framework - no coding or legal expertise required. **Features:** * **Free** - No credit card required. Get started with a free CookieFrame account * **Auto geo-detection** - Automatically shows GDPR, CCPA, or a simple notice banner based on the visitor's country * **Script blocking** - Blocks third-party scripts (analytics, ads, etc.) until the visitor gives consent * **Multi-language** - Fully translatable banner text to match your audience's language * **Google Consent Mode v2** - Automatically updates Google tags with consent state for accurate analytics * **Automatic cookie scanning** - CookieFrame scans your site and categorizes cookies for you * **Customizable design** - Configure banner style, colors, layout, position, and text from the CookieFrame dashboard * **Async loading** - Zero impact on page speed (under 30 KB, loaded asynchronously) * **WP Consent API compatible** - Integrates with the WordPress Consent API standard * **Shortcodes** - Add "Cookie Settings" and "Do Not Sell" links anywhere on your site This plugin connects your WordPress site to [CookieFrame](https://cookieframe.com), a cookie consent management platform. Cookie scanning, consent storage, and banner customization are all handled by the CookieFrame platform. **Setup Guide:** New to CookieFrame? Our [WordPress installation guide](https://cookieframe.com/docs/integrations/wordpress) walks you through the full setup - from creating your free account to getting your consent banner live in minutes. **Useful Links:** * [Documentation](https://cookieframe.com/docs) * [WordPress Installation Guide](https://cookieframe.com/docs/integrations/wordpress) * [CookieFrame Dashboard](https://cookieframe.com/app) * [Support Forum](https://wordpress.org/support/plugin/cookieframe/) * [Privacy Policy](https://cookieframe.com/privacy) **Important:** Installing this plugin is one part of a privacy compliance strategy - it is not a substitute for legal advice. Your site's compliance with GDPR, CCPA, or other privacy regulations depends on many factors beyond a consent banner: what cookies and trackers you use, how you handle personal data, your privacy policy, and your specific legal context. We recommend reviewing your setup with a qualified professional to confirm it meets your obligations. == Installation == 1. Install and activate the plugin from the WordPress plugin directory (or upload the `cookieframe` folder to `wp-content/plugins/`). 2. Go to **Settings > CookieFrame** and create a free account or enter your existing Domain ID. 3. The consent banner is now live on your site. == Frequently Asked Questions == = Is CookieFrame free? = Yes. CookieFrame offers a free plan that covers the essentials for most sites. You can create a free account at [cookieframe.com](https://cookieframe.com) - no credit card required. = Do I need a CookieFrame account? = Yes. CookieFrame handles cookie scanning, consent storage, and banner customization. You can create a free account directly from the plugin settings page. = Where do I find my Domain ID? = Log in to your [CookieFrame dashboard](https://cookieframe.com/app), select your domain, and copy the 8-character Domain ID shown in the setup instructions. You can also connect directly from the plugin by entering your email and site URL. = Does the banner slow down my site? = No. The CookieFrame widget is under 30 KB, loads asynchronously, and does not block page rendering. = Is this plugin compatible with caching plugins? = Yes. The script tag is injected directly into your page HTML, so it works with all WordPress caching plugins. = How do I add a "Cookie Settings" link to my footer? = Use the shortcode `[cookieframe-preferences]` in any page, post, or widget. You can also use `[cookieframe-preferences text="Manage Cookies"]` to customize the link text. = Does this work with Google Tag Manager? = Yes. CookieFrame supports Google Consent Mode v2 out of the box. There is also an official [CookieFrame GTM template](https://cookieframe.com/docs/integrations/google-tag-manager) for advanced setups. = Is CookieFrame compatible with the WP Consent API? = Yes. CookieFrame is a registered WP Consent API provider. When the [WP Consent API](https://wordpress.org/plugins/wp-consent-api/) plugin is active, CookieFrame automatically broadcasts consent decisions to the rest of WordPress - so compatible plugins (analytics, chat widgets, advertising) will respect your visitors' choices without any extra configuration. = Which privacy laws does CookieFrame cover? = CookieFrame auto-detects visitor location and applies the correct framework: GDPR for EU/EEA visitors, CCPA for California residents, and a simple acknowledgment notice for other regions. == Screenshots == 1. Settings page - connect your domain, enter your Domain ID, and configure script placement and page exclusions. 2. Inline registration - create a free CookieFrame account directly from the plugin settings without leaving WordPress. 3. Dashboard widget - view your consent stats and connection status at a glance from the WordPress admin dashboard. 4. Cookie consent banner on the frontend (GDPR opt-in mode). 5. Cookie preferences panel - visitors can manage their consent choices by category. == External Services == This plugin connects to the [CookieFrame](https://cookieframe.com) service to deliver cookie consent management. The following data is transmitted to CookieFrame servers at `https://cookieframe.com`: * **Domain validation** - When you enter a Domain ID in settings, your Domain ID is sent to `https://cookieframe.com/api/integrations/wordpress/validate/{domainId}` to verify it and retrieve your domain name. Only the Domain ID is transmitted. * **Account registration** - When registering from the plugin settings page, your email address and site URL are sent to `https://cookieframe.com/api/integrations/wordpress/register` to create your account and domain. * **Connection status** - After connecting, the plugin checks your domain's status via `https://cookieframe.com/api/integrations/wordpress/status/{domainId}` using your Domain ID and API key. This returns cookie counts, consent stats, and compliance information. * **Email verification** - If you register from the plugin, a verification email is sent. The resend function calls `https://cookieframe.com/api/integrations/wordpress/resend-verification` with your Domain ID and API key. * **Visitor-side widget** - Visitors' browsers load the CookieFrame consent widget script from `https://cookieframe.com/api/widget/{domainId}/script.js`. This request includes the visitor's IP address and browser information as standard HTTP request metadata. The IP address is used for geo-detection to determine the applicable privacy framework (GDPR, CCPA, or notice). This plugin will not function without a connection to the CookieFrame service. * [CookieFrame Privacy Policy](https://cookieframe.com/privacy) * [CookieFrame Terms of Service](https://cookieframe.com/terms) == Changelog == = 1.0.1 = * Fix: "Invalid domain ID format" during setup. Plugin now uses a dedicated server-to-server validation endpoint and accepts both the 8-character short Domain ID and the full UUID. = 1.0.0 = * Initial release. * Domain ID validation and inline registration. * Script injection with head/footer placement option. * Page/post exclusion support. * Shortcodes: `[cookieframe-preferences]` and `[cookieframe-do-not-sell]`. * WP Consent API integration. == Upgrade Notice == = 1.0.1 = Fixes "Invalid domain ID format" error when entering your Domain ID during setup. Recommended for all users. = 1.0.0 = Initial release.