Royal MCP GuardPress ForgeCache SiteVault Royal Links SEObolt FormForge Royal Affiliates Support Case Studies AI Credits My Account Cart
Support / RoyalComply

RoyalComply Documentation

Complete guide to cookie consent and privacy compliance with RoyalComply. Configure real script blocking, GDPR/CCPA compliance, Google Consent Mode v2, and consent audit logging.

Getting Started

RoyalComply handles privacy and cookie compliance the right way — with real script blocking, not just banner theater. No SaaS dependency, no locked features, no external API calls. Everything runs locally on your WordPress site.

Why You Need Cookie Compliance

GDPR Requirement

EU law requires opt-in consent before setting non-essential cookies. Violations can result in fines up to 4% of annual revenue.

CCPA & US State Laws

California and 19 other US states have privacy laws requiring consent mechanisms. The landscape is expanding rapidly.

Google Requirements

Google Consent Mode v2 is required for EU ad campaigns. Without it, Google Ads and GA4 data collection may be limited.

Real Blocking

Most consent plugins only show a banner. RoyalComply actually prevents scripts from executing until consent is given.

Requirements

Installation

From WordPress.org

Search for the plugin

In your WordPress admin, go to Plugins > Add New and search for "RoyalComply"

Install and activate

Click "Install Now" then "Activate" once installation completes

Configure settings

Navigate to Settings > RoyalComply in your admin menu to begin setup

Manual Installation

Download the plugin

Download the ZIP file from WordPress.org

Upload to WordPress

Go to Plugins > Add New > Upload Plugin, select the ZIP file, and click Install Now

Activate the plugin

Click "Activate Plugin" after installation completes

Quick Start

Get privacy compliance set up on your site in under 10 minutes:

Navigate to RoyalComply

Go to Settings > RoyalComply in your WordPress admin

Configure your banner

Choose position (top, bottom, center, etc.), colors, and consent text

Enable script blocking

Toggle on script blocking to actually prevent analytics and marketing scripts until consent is given

Enable Google Consent Mode

If you use Google Analytics or Ads, enable GCM v2 for proper consent signaling

Run the cookie scanner

Auto-detect cookies on your site and categorize them

Review consent log

Verify consent records are being logged for GDPR audit compliance

Recommendation

Enable script blocking FIRST, then test your site to make sure essential functionality works. Necessary cookies (WordPress sessions, WooCommerce cart) are never blocked.

Positions & Layout

Choose from 6 position options for your consent banner:

Position Layout Description
Top Bar Full-width bar fixed to the top of the viewport
Bottom Bar Full-width bar fixed to the bottom of the viewport (most common)
Left Box Floating box in the bottom-left corner
Right Box Floating box in the bottom-right corner
Center Fixed Box Centered modal overlay with backdrop
Slide-in Box Slides in from the bottom-right after a short delay

Colors & Text

Every visual aspect of the consent banner is customizable:

All text labels are customizable, including:

How Script Blocking Works

RoyalComply uses the WordPress script_loader_tag filter to change the script type attribute from text/javascript to text/plain for non-consented categories. This prevents execution at the browser level — the browser simply ignores scripts with an unrecognized type.

When a visitor gives consent for a specific category, RoyalComply dynamically changes the script type back to text/javascript and re-enables execution. This all happens client-side without a page reload.

Why This Matters

Most cookie consent plugins only show a banner and set a cookie recording the visitor's choice. The actual tracking scripts still load and execute regardless. This is not compliant with GDPR, which requires that non-essential scripts do NOT run before consent is given.

RoyalComply's approach is real blocking — scripts are genuinely prevented from executing until the visitor explicitly consents.

Important: Script Enqueue Requirement

If you embed third-party scripts via raw HTML (not wp_enqueue_script), RoyalComply cannot block them via the filter method. Use wp_enqueue_script for all third-party scripts to ensure they can be properly blocked.

Analytics Scripts

The following analytics scripts are automatically detected and blocked until the visitor grants analytics consent:

RoyalComply identifies these scripts by their known script URLs and handle names. If you use a custom analytics tool, you can manually assign it to the analytics category in the cookie scanner.

Marketing Scripts

The following marketing and advertising scripts are blocked until marketing consent is given:

Necessary Cookies

Necessary cookies are essential for your website to function and are never blocked by RoyalComply, regardless of the visitor's consent choices. These include:

GDPR Exemption

Under GDPR Article 5(3), cookies that are "strictly necessary" for a service explicitly requested by the user are exempt from consent requirements. Session cookies, shopping cart cookies, and consent-recording cookies all fall under this exemption.

GDPR (EU)

The General Data Protection Regulation requires an opt-in consent model for EU visitors. This means:

RoyalComply satisfies all of these requirements through real script blocking and the consent log feature. Visitor identifiers in the consent log are SHA-256 hashed with your site's unique salt, ensuring no personally identifiable information is stored.

CCPA (California)

The California Consumer Privacy Act uses an opt-out model, meaning businesses must:

RoyalComply supports CCPA by providing the consent banner with a reject option and supporting the Global Privacy Control (GPC) browser signal. When GPC is detected, RoyalComply automatically treats the visitor as having opted out.

US State Privacy Laws

Beyond California, 19 additional US states have enacted privacy legislation. RoyalComply helps you comply with all of them through its consent management framework:

State Law
VirginiaVCDPA
ColoradoCPA
ConnecticutCTDPA
UtahUCPA
TennesseeTIPA
IndianaICDPA
MontanaMTCDPA
TexasTDPSA
OregonOCPA
DelawareDPDPA
FloridaFDBR
New JerseyNJDPA
New HampshireNHDPA
KentuckyKCDPA
NebraskaNEBDPA
IowaICDPA
MarylandMCDPA
MinnesotaMNDPA

While each state law has unique nuances, they share common themes: notice requirements, opt-out mechanisms, and data protection obligations. RoyalComply's category-based consent and real script blocking provide a solid compliance foundation for all of them.

CSV Export

Export your consent log data as a CSV file for regulatory audits, legal review, or compliance documentation. The export includes all fields from the consent log:

Navigate to the Consent Log page and click "Export CSV" to download the full log for the selected date range.

Policy Generator

RoyalComply includes a cookie policy and privacy policy text generator that creates starter text based on:

Not Legal Advice

The generated policy text is a starting point, not a substitute for professional legal review. Customize the generated text for your specific jurisdiction and business practices. Privacy laws vary by region and industry.

Geo Detection

RoyalComply uses privacy-respecting methods to detect visitor location for showing region-appropriate consent banners:

Detection Methods (in priority order)

  1. Cloudflare headerCF-IPCountry header (if using Cloudflare CDN)
  2. CDN headersX-Forwarded-For and other CDN-provided location headers
  3. Browser timezone — Falls back to the visitor's browser timezone to infer region

No external geo-IP API calls are made. All detection happens using data already available in the HTTP request or browser environment. This means zero additional latency and zero third-party dependencies.

Best Results with Cloudflare

If your site uses Cloudflare (free plan is sufficient), geo detection will be highly accurate using the CF-IPCountry header. Without a CDN, the timezone fallback provides reasonable region-level accuracy.

Settings Reference

A complete reference of all RoyalComply settings, found under Settings > RoyalComply in your WordPress admin:

Setting Default Description
Region Detection Mode Auto Auto (CDN headers + timezone) or Manual (set region manually)
Script Blocking On Toggle real script blocking on or off. Strongly recommended to keep ON.
Google Consent Mode Off Enable Google Consent Mode v2 consent signaling for Google tags
Consent Expiry 365 days How long the consent cookie lasts before the visitor is asked again
Logging Retention 90 days How long consent log records are kept before automatic cleanup
Hide for Admins On Don't show the consent banner to logged-in users with manage_options capability

Troubleshooting

Scripts still running after blocking is enabled

Banner not showing

Wrong region detected

Google Ads showing consent errors

Frequently Asked Questions

Does RoyalComply actually block scripts?

Yes. Unlike most consent plugins that only show a banner, RoyalComply changes the script type attribute to prevent execution until consent is given. This is real blocking, not theater. You can verify this by checking your browser's Network tab before and after giving consent.

Does it work with Google Tag Manager?

Yes. GTM scripts are categorized as marketing and blocked until consent is given. Google Consent Mode v2 consent signals are sent to Google regardless, so GTM can still use consent-based triggers and Google's modeled conversions continue to work.

Is the consent log GDPR compliant?

Yes. Visitor identifiers are SHA-256 hashed with your site's unique salt. No IP addresses, no email addresses, no PII is stored. The consent log exists specifically to provide proof of consent for regulatory audits, which is itself a GDPR requirement.

Does it slow down my site?

No. Frontend CSS and JS combined are under 8KB. Script blocking actually speeds up initial page load since analytics and marketing scripts don't run until consent is given. Visitors who reject non-essential cookies will experience faster page loads throughout their session.

Does it need a SaaS subscription?

No. Everything runs locally on your WordPress site. No external API calls, no cloud services, no ongoing fees. Your consent data stays on your server, under your control.

What happens if a visitor doesn't interact with the banner?

Non-essential scripts remain blocked. GDPR requires explicit consent (opt-in), so silence is not consent. The banner will continue to appear on each page visit until the visitor makes a choice.

Can I customize which scripts go in which category?

Yes. The cookie scanner auto-categorizes known scripts, but you can override the category assignment for any script. Unknown scripts flagged by the scanner can be manually assigned to any category.

Does it support consent-per-purpose for IAB TCF?

RoyalComply uses a simplified 4-category model (Necessary, Analytics, Marketing, Preferences) rather than the full IAB TCF framework. This covers the vast majority of use cases. If you need full IAB TCF 2.2 compliance (typically required only for programmatic advertising), a dedicated CMP may be more appropriate.