Consent Manager IAB TCF 2.2
━━━ FAQ ━━━
Frequently Asked Questions
Installation & Setup
How do I install the Consent Manager?
Download the ZIP file, extract it and upload the
upload/ folder to your server via FTP. Then install the add-on in the admin panel under
Add-ons > Install/upgrade add-on. Enable "Overwrite all files" when updating.
Do I need an IAB CMP ID?
For full IAB TCF 2.2 compliance, you need a registered CMP ID from IAB Europe. You can use the Consent Manager without a CMP ID — TC strings will use ID 0, which is sufficient for most forums. A registered CMP ID is recommended for commercial websites with ad networks.
The Consent Manager doesn't appear in the admin sidebar. Where can I find it?
The Consent Manager integrates into the
Advertising Suite Pro navigation. If that add-on is not installed, it appears as a standalone "Consent Manager" menu item in the sidebar. You can also access the dashboard directly via
Which XenForo versions are supported?
- XenForo 2.3.9 or higher
- PHP 8.1+
Consent Banner
The banner is not showing. What can I do?
- Check if the Consent Manager is enabled (Settings > General > Enable Consent Manager)
- Delete the cookie
in your browser (or open an incognito window)
- Use the Validator in the dashboard ("Run Validator" button) — it checks 8 points and shows exactly what's missing
- Clear the XenForo cache and your browser cache
How can I show the banner again?
Visitors can change their settings at any time via the
"Cookie Settings" link in the footer. This opens the purpose selection (Layer 2) directly. Alternatively, delete the
cookie.
What banner positions are available?
- Bottom bar — Bar at the bottom of the screen (default)
- Center overlay — Centered modal with darkened background
- Top bar — Bar at the top of the screen
Can I customize the banner design?
Yes, under
Settings > Banner Design:
- Background color, text color, accent color (accept button), reject button color
- Logo URL (optional, automatically uses the forum logo if empty)
- Custom CSS for full control
- "Reset to defaults" button restores all default values
How does the 3-layer banner work?
- Layer 1: Initial banner with Accept, Reject and More Options
- Layer 2: Detailed purpose selection with 11 toggles (Purpose 1 is always active)
- Layer 3: Vendor details with searchable list of all active IAB vendors
Cookie settings are not persisted after saving. What should I do?
- Make sure you have the latest version installed (v1.0.3+)
- Cloudflare: If HTML/JS caching is active, purge the Cloudflare cache after updating
- Check if the JavaScript file
loads correctly (check browser console for errors)
Google Consent Mode v2
How do I set up Google Consent Mode v2?
- Enable it under Settings > Google Consent Mode > Google Consent Mode v2
- The mapping is pre-configured — TCF purposes are automatically mapped to Google consent signals
- The Consent Manager automatically sets
Code:
gtag('consent', 'default', ...)
with
for all signals
- After consent, the corresponding signals are updated to
Which TCF purposes map to which Google signals?
- Purpose 1 — Store/access information →
,
- Purpose 3 — Create ad profile →
- Purpose 4 — Personalised ads →
- Purpose 7 — Measure ad performance →
- Purpose 8/9 — Measure content performance →
- Purpose 10 — Develop products →
Ads are not showing after consent. What's wrong?
This issue was fixed in v1.0.2 Patch 3. Google Consent Mode remained
even when the consent cookie existed. Update to v1.0.3 and clear your browser cache.
Does the Consent Manager work with GA4 only (without ads)?
Yes. Place your GA4 code as usual in the
template before
. The relevant purposes are:
- Purpose 1 — Store/access information (mandatory)
- Purpose 8 — Measure content performance
If you don't run ads, you can disable ad-related purposes (2, 3, 4) in the settings to simplify the consent dialog for visitors.
Vendor Management
How do I import the IAB vendor list?
Go to
Consent Vendors > GVL Import. The import downloads the current Global Vendor List v3 from
and creates/updates all vendors. The GVL currently contains over 1100 vendors. New vendors are imported as
inactive by default.
Google Advertising Products (IAB #755) only shows Consent Purposes 1, 3, 4. Shouldn't there be more?
This is correct per the IAB Global Vendor List. Google declares purposes 2, 7, 9 and 10 under
Legitimate Interest, not under Consent. You can verify this by editing the vendor — the Legitimate Interest section shows purposes 2, 7, 9, 10 checked. Additionally, Google has Special Purposes 1, 2, 3 and Features 1, 2.
When editing a vendor, the checkboxes for purposes, legitimate interest and special features are all unchecked. How do I fix this?
This was a bug in versions prior to v1.0.3 caused by a type mismatch in the template engine's checkbox pre-selection logic. Update to v1.0.3 to resolve this. No data was lost — the purposes were always stored correctly in the database.
After GVL import, the Vendor URL field is empty for all vendors. Is that normal?
The IAB Global Vendor List does not include a separate website URL — only privacy policy URLs. Starting with v1.0.3, the import automatically uses the privacy policy URL as a fallback. Re-run the GVL import to update existing vendors.
Purpose labels show "Purpose 1" instead of proper names. Why?
Fixed in v1.0.3. The edit form now uses the same translated phrase keys as the settings page, so labels always display correctly in all installed languages.
Can I add custom (non-IAB) vendors?
Yes, via
Consent Vendors > Add Vendor. Set the IAB Vendor ID to 0 for custom vendors. You can manually assign name, URLs, purposes and features.
The vendor search only searches the current page.
The search filters server-side across all vendors. Enter your search term and click "Search" — the results show all matching vendors across all pages.
Settings & Configuration
What does "Global Scope (Cross-Site)" mean?
When enabled, consent decisions apply across websites. The TC string uses
. This is useful when you operate multiple domains that should share the same consent. Also configure the cookie domain (e.g.
).
How long are consent logs retained?
365 days by default. Configurable under
Settings > General > Log Retention. The value must be between 1 and 3650 days.
Settings are not applied after saving.
Clear the XenForo cache after saving (
Tools > Clear cache). With Cloudflare, also purge the Cloudflare cache. Make sure you are using the latest version.
Can I show the banner only for specific user groups or pages?
Yes, under
Settings > User Criteria and
Page Criteria. You can display the banner e.g. only for guests, specific user groups, or only on certain pages.
Logs & Statistics
Where can I find the consent logs?
In the dashboard under
Consent Manager > Logs or directly via
Code:
admin.php?deb-consent/logs
. Logs show date, IP, user, action, purposes, TC string and source.
What do the action types in the logs mean?
- Accept All — Visitor accepted all purposes
- Reject All — Visitor rejected all optional purposes
- Custom — Visitor selected individual purposes
- Update — Visitor changed their settings later
The "Purpose Acceptance Rates" chart is empty. Why?
Statistics are aggregated by a daily cron job. After the first day with consent activity, data appears the next day. Check if the cron job (
scheduled tasks) is running.
Technical
What cookies are set?
- euconsent-v2 — IAB standard cookie containing the TC string (Base64url encoded). Valid for 396 days (~13 months).
What is a TC String?
The Transparency & Consent String (TC String) is an IAB-standardized format encoding the user's consent decisions — including CMP ID, consent timestamp, accepted purposes, vendors and special features. It is stored as a Base64url-encoded bitfield string in the cookie.
What JavaScript API is provided?
-
— Full IAB TCF 2.2 API (getTCData, ping, addEventListener, removeEventListener)
-
— Public API for banner control and consent queries
What languages are supported?
English (EN), German (DE), Spanish (ES), French (FR), Italian (IT), Dutch (NL), Polish (PL), Portuguese (PT). The banner and all admin interfaces automatically adapt to the installed XenForo language.
Does the Consent Manager work with AdSense Manager PRO / Advertising Suite Pro?
Yes, the Consent Manager integrates seamlessly with both add-ons. Navigation is automatically merged.
What does the Validator check?
The dashboard Validator checks 8 points:
- __tcfapi stub enabled
- Consent banner template present
- CMP JavaScript file present
- Google Consent Mode v2 configured
- Accept/Reject buttons (TCF 2.2 required)
- euconsent-v2 cookie in CMP code
- Purpose selection (Layer 2) present
- Cookie settings footer link active
Troubleshooting
"Function datetime is unknown" template error
This occurs on older XenForo versions. Update to XenForo 2.3.9+ where the
function is available.
InvalidArgumentException: Unknown getter 'tc_string' / 'source'
Fixed in v1.0.2. Update to the latest version.
Log pagination shows "Page not found"
Fixed in v1.0.2 Patch 1. Update to the latest version.
Cookie settings link in the footer is not clickable on mobile devices
Fixed in v1.0.2 Patch 3. The link now has a minimum height of 44px for reliable touch targets.
After updating, nothing works. What should I do?
- Reinstall the add-on with "Overwrite all files" enabled
- Clear XenForo cache (Tools > Clear cache)
- Clear browser cache (Ctrl+Shift+R)
- With Cloudflare: Purge Cloudflare cache
- Run the Validator in the dashboard to identify missing components