Skip to main content

Manage Cookie Consent for Website Embeds

Connect your website’s cookie choices to Cademy embeds, customise your Cademy banner, and check the consent signals.

Written by Artur Binzaru

How cookie consent works

This guide is for course providers and the people who manage their websites. A Standard Website Embed displays Cademy content inside your website using an iframe, a separate page contained within your page. Its configured tracking uses the visitor’s choice from your website’s cookie banner. Cademy does not install that banner or show a second one inside the embed.

​

Here, tracking means the Google Analytics 4 (GA4), Google Tag Manager (GTM) and Meta Pixel scripts configured in Cademy. GA4 measures visits, Meta Pixel supports advertising, and GTM loads the tracking tags in your GTM container. These consent rules do not mean that all website requests or all data sent to Cademy stop.

​

Without a recognised choice, those configured scripts stay off on a fresh page load. Visitors can still browse courses and use the available booking actions. Analytics consent allows measurement; Marketing consent allows advertising tracking. Cookie consent is separate from agreeing to marketing emails.

​

This guide covers the Standard Website Embed, including one placed on a WordPress site. The separate Cademy for WordPress plugin works differently, as explained below.

​


​

Set up consent for your embeds

Before starting, you need Cademy System Admin access, the staff role with full account access, and someone who can edit your website’s code and cookie banner. Tracking IDs and Cademy banner settings require the Custom Code feature. It is included on Pro and Teams; for Enterprise, check your account’s contract. For plan information, see Understand Cademy Plans, Limits and Fees. If the controls are unavailable, ask your account administrator or Cademy Support to check access.

  1. Make sure your website has a working cookie banner. Cademy can recognise Google Consent Mode updates exposed in window.dataLayer, the page’s event queue, followed by supported signals from Cookiebot, OneTrust, CookieYes and Complianz. Google Consent Mode passes consent signals to Google tags; it is not a banner. Installing GTM alone is not enough.

  2. In Cademy Admin, open Apps → Cademy Embeds. If it is not installed, select Install first. The page that opens is headed Embeds.

  3. Choose Multiple Courses, A Single Course or A Form. Select the course, collection or form where required, then select Get Code.

  4. In Add This Embed to Your Website, choose Your Platform and follow the Steps. Have your website administrator add the embed and Helper Script - Once Per Site using the installation guide linked below. The helper is the extra code that passes the visitor’s recognised choice to the embed. Add it only once per website, then save or publish the website changes.

  5. If you use tracking, open Settings > Custom Code in Cademy Admin. Enter your own IDs in Google Analytics 4 ID, Google Tag Manager ID or Facebook Pixel ID, then select Save. Facebook Pixel ID is the field for Meta Pixel. When Meta Pixel loads inside an embed, it sends a page view. Leave tools you do not use blank.

  6. Reload the Custom Code page and check that the intended IDs are still present. Then use Check your setup below on your published website. A save message or the Admin preview alone does not confirm that tracking works.

Add This Embed to Your Website showing platform, embed code and helper script

Illustrative test-account screenshot: the code contains a beta.cademy.io demo address and is partly clipped. Choose your platform and copy the code from your own Cademy account, not from this image.

​

For platform-specific installation steps, see Embed Courses or Forms on Your Website. For detailed tracking-ID, tag and conversion setup, see Track Course Bookings with Analytics.

​

On the Embeds page (Apps → Cademy Embeds), under Cookie consent on your website, Nothing to do identifies tools with supported automatic detection. This is a list of supported tools, not a check of your website. Your banner and helper must still be installed correctly and expose the supported signals. There is no additional consent switch to turn on in Cademy.

​

Cookie consent on your website showing supported cookie banner tools

Supported banner tools appear here. This list does not confirm a connection to your website.

​

A customised banner or GTM consent template may not expose the signals the helper reads. Ask your website administrator to verify the detected choice below. For another banner, or a setup that is not detected, they can use the developer connection instructions. If your website platform wraps the embed inside another iframe, they may also need to check which page contains the banner and helper.

​


​

What each choice allows

Visitor’s choice

Configured Cademy tracking

Analytics allowed

Google Analytics 4 can load. Attribution information, such as campaign details, can pass to Cademy.

Marketing allowed

Meta Pixel can load.

Either category allowed

Google Tag Manager can load. Configure the tags inside your GTM container to respect the visitor’s consent.

No recognised choice, or both rejected

On a fresh page load, the configured GA4, GTM and Meta Pixel scripts stay off.

Visitors change their choice through your website’s banner or cookie preferences. The helper passes recognised changes to the Cademy embeds on that page.

​

Cademy updates Google’s consent signals and revokes Meta consent when appropriate. Tags loaded earlier can remain until the page is reloaded. After rejecting categories, reload the page to check that their configured scripts stay off from a fresh load. This does not remove every script or cookie added by your website or GTM tags.

​

These rules cover tracking added through Cademy. Scripts installed separately on your website, including other WordPress plugins, need their own consent setup.

​


​

WordPress and checkout

Standard Website Embed on WordPress: follow the setup above, including the helper script.

​

Cademy for WordPress plugin: its native course listings and course pages do not use the iframe helper or add Cademy tracking JavaScript or cookies while visitors browse. See Publish Cademy Courses on a WordPress Website.

​

Separate Cademy checkout: this uses its own consent controls and any valid choice already saved for that Cademy host. A host is the website address serving the page. When an embed opens Cademy checkout in a new tab, the link can carry the choice the embed received from your website, but that choice is not saved as the visitor’s own choice on the Cademy host. Checkout may show a banner even after a visitor has chosen on your website. On the Cademy page, select Cookie Settings to open Cookie Preferences. Choose the available Analytics and Marketing categories, then select Save Preferences, or use Reject All or Accept All. Strictly Necessary remains on.

​

If booking opens an external website, that website uses its own consent setup.

​


​

Customise your Cademy banner

These settings change the banner on your Cademy minisite, the public website Cademy provides for your business, and on Cademy checkout. They do not change your own website’s banner.

  1. In Cademy Admin, open Settings > Custom Code and find Cookie Consent.

  2. Enter a Banner Message of up to 300 characters, or leave it blank for the default wording.

  3. Enter a full address starting with https:// in Cookie Policy Link, or leave it blank to use Cademy’s cookie policy.

  4. Select Preview Banner to inspect the wording, policy link and colours. This displays a preview; it does not save the settings or check the website’s consent connection. The Your tracking IDs list above can reflect IDs you have entered but not yet saved.

  5. Select Save Changes. Look for Cookie consent settings saved; if an error appears, correct it before continuing. Reload the page and check that your message and policy link remain as intended.

Save Changes saves banner settings separately from the tracking IDs’ Save button. Banner colours follow your brand colour under Profile. A minisite without configured tracking IDs does not show this tracking-consent banner; separate checkout can still have its own banner. Check the saved banner on the public Cademy page in a fresh private window. Default wording can differ between a minisite and checkout.

​

Cookie Consent settings and Caledonia Academy banner preview

Illustrative Caledonia Academy banner preview. Hide Preview and Save Changes are visible; this image is not a saved-success message or a visitor’s consent decision.

​


​

Check your setup

  1. Open the published website page containing the embed in a fresh private browser window. Use that page, not the preview in Cademy Admin. Before making a choice, the configured GA4, GTM and Meta Pixel scripts should stay off; the embed can still show course content.

  2. Use the website’s banner to allow the categories you intend to test. Ask your website administrator to check that the helper recognises the choice and that the expected scripts load, using the developer checks below.

  3. Change the choice through the website’s cookie preferences and check the updated signals. Reload after rejecting categories to inspect a page where their scripts have not already loaded. Check both allowed, Analytics only, Marketing only and both rejected against the table above.

  4. If Get Code is unavailable, select the course, collection or form required by your chosen embed type.

  5. If scripts stay off after accepting, reload Settings > Custom Code and check the saved IDs, then check the helper installation and the banner’s supported signals. A banner’s name alone does not prove the connection.

  6. If the helper recognises the choice but scripts are missing, check tag configuration, browser privacy settings and blockers. Ask your website administrator to clear the website cache if it serves an old helper script, then check the published page again.

For help, give your website administrator or Cademy Support the published page address, banner tool’s name, the choice you tested and what happened. Your administrator can also provide the detected consent source and relevant Network results. Do not include private credentials or visitor details.

​


​

For developers: connect a custom banner

These optional steps are for the developer or website administrator connecting a custom banner. In Cademy Admin, Apps → Cademy Embeds → Cookie consent on your website → For Developers shows the callback. Call it on the website page containing the Cademy iframe, after the helper loads, using the visitor’s actual choices. This example allows Analytics and rejects Marketing:

CademyEmbed.setConsent({ analytics: true, marketing: false });

Set each value to true only when the visitor allows that category. To reject both, pass false for both.

  • Pass the banner's saved choice on each page load, and call again whenever it changes.

  • Use booleans, not strings. Do not grant consent automatically just because the page loaded.

  • An explicit call overrides automatic detection for the rest of that page view. Your callback must keep it in sync with the banner.

An explicit callback takes priority. Otherwise, automatic detection uses the first recognised answer in this order: Google Consent Mode updates in window.dataLayer, Cookiebot, OneTrust, CookieYes, then Complianz. GTM’s internal consent APIs do not by themselves establish that those dataLayer updates are present; verify the result instead of assuming every GTM template is detected.

​

Supported signals

Use these read-only checks in the host page’s browser Console, the developer tool that runs commands on a page. The host page is the website page containing the Cademy iframe. These checks inspect the banner; they do not grant consent. The listed signals describe what the helper recognises, so customised category names or provider settings may need the explicit callback above.

Source

Read-only check

What Cademy reads

Google Consent Mode

window.dataLayer

Consent updates: analytics_storage: granted allows Analytics; ad_storage: granted allows Marketing when ad_user_data and ad_personalization are not denied.

Cookiebot

window.Cookiebot && window.Cookiebot.consent

statistics and marketing, after hasResponse, consented or declined indicates a response.

OneTrust

window.OnetrustActiveGroups

C0002 for Analytics and C0004 for Marketing, once OptanonAlertBoxClosed exists.

CookieYes

document.cookie.split("; ").find(c => c.startsWith("cookieyes-consent="))

analytics:yes and advertisement:yes, once action:yes or consent:yes is present.

Complianz

document.cookie.split("; ").filter(c => /^cmplz_(statistics|marketing)=/.test(c))

cmplz_statistics and cmplz_marketing, with allow granting the corresponding category.

​


​

For developers: verify consent and tracking

In the browser Console, select the website page containing the embed, not the iframe. Run each of these two commands separately and inspect its result:

CademyEmbed.getConsent(); CademyEmbed.getConsentSource();
  • null: no recognised choice has been found. Check the banner’s supported signals. A Google Consent Mode default command alone is not a completed choice; the helper reads consent updates in window.dataLayer.

  • { analytics: false, marketing: false }: both categories are denied. If a previously detected choice disappears, the source can show withdrawn.

  • true for a category: The helper has recognised permission for that category. The source identifies which integration supplied it. Use the Network check below to confirm the iframe’s tracking behaviour.

  • If CademyEmbed or either function is undefined, check that the helper loaded, that you selected the host page in the Console, and that an old script is not being served from cache.

In the browser’s Network panel, which lists page requests, inspect requests from the Cademy iframe separately from your website’s own scripts: gtag/js for GA4, gtm.js for GTM, and fbevents.js for Meta Pixel. A recognised helper choice is not proof that a tracking script loaded or an analytics event arrived.

​

With the relevant IDs saved, check no choice, both categories allowed, Analytics only, Marketing only and both rejected, reloading between checks. Analytics only permits GA4 and GTM; Marketing only permits GTM and Meta Pixel; both permits all three; no choice or both rejected permits none of these scripts on a fresh load. Also change an allowed choice to rejected and confirm the helper updates before reloading. Browser blockers can prevent requests even after consent.

​


​

Frequently asked questions

Why is there no banner inside the embed?
That is expected. The embed uses your website’s recognised choice. Without one, its configured GA4, GTM and Meta Pixel scripts stay off on a fresh page load. Cademy does not install your website’s banner.

​

Why does GTM load when Marketing is off?
GTM can load when Analytics is allowed. Tags inside your container must be configured to respect consent. The separately configured Meta Pixel does not load on a fresh page when Marketing is rejected.

​

Does accepting cookies subscribe someone to emails?
No. Cookie consent and marketing-email choices at checkout are separate.

Did this answer your question?