> For the complete documentation index, see [llms.txt](https://support.agentfire.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.agentfire.com/faqs-and-general/common-questions/articles-cookie-banner.md).

# How to Set Up the Cookie Banner on Your Website

Turn on the cookie banner, then put each script in the right box with the right cookie category so it only loads after a visitor agrees.

Visitors can see a cookie banner on your site and choose which optional cookies to allow. Tracking and advertising scripts wait until they agree. Strictly necessary cookies stay on so the site can load.

{% hint style="warning" %}
**This is not legal advice, and turning Cookie Consent on does not mean your site is "compliant" or protected from claims.** You decide whether to use it. If you need advice for your situation, talk to your attorney.
{% endhint %}

## Turn on the cookie banner

You can do this yourself from the admin.

{% stepper %}
{% step %}

### Open the cookie settings

If your dashboard shows a notice that your site looks like it uses advertising or tracking scripts, click **Activate**. Or open the menu in the top left and go to **Site Settings** > **AgentFire Settings** > **GDPR & Cookie Consent**.
{% endstep %}

{% step %}

### Turn it on and save

Switch **Enable Cookie Consent** to **Yes**, then click **Update**. That turns on the banner with the default settings. You can change the wording later.

![Enable Cookie Consent set to Yes, and the Update button](https://2039430885-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq65vhH2v4k5rpDOha9Vm%2Fuploads%2Fgit-blob-64a0dba1705a9dcc40b5cf6fe1d273a289f2610a%2Fcookie-1-enable.png?alt=media)
{% endstep %}

{% step %}

### Check the category of each script

Go to **Site Settings** > **AgentFire Settings** > **Header/Footer Scripts & Metas** and check the category on each box that has code. See [Cookie categories](#cookie-categories) and [Where each script goes](#where-each-script-goes) below. If you are not sure, choose **Analytics & Marketing**.
{% endstep %}

{% step %}

### Check it as a visitor

Open your site in a private (incognito) window. The banner shows at the bottom of the page. You won't see it while you're logged in to your website.

![The cookie banner with Accept, Reject analytics & marketing, and Settings](https://2039430885-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq65vhH2v4k5rpDOha9Vm%2Fuploads%2Fgit-blob-11362c5cfcd40268a6f187742b4f4dfab7e798dd%2Fcookie-2-banner.png?alt=media)
{% endstep %}
{% endstepper %}

## Changing cookie choices later

After a visitor makes a choice, the banner goes away. They can change that choice later with a **Cookie Settings** link.

On most sites that link is already on the **Privacy Policy** page (Managed Privacy Policy). You don't need to add anything in the footer.

Add a link yourself only if **GDPR & Cookie Consent** shows a warning that **Managed Privacy Policy** is not enabled. Put it in the footer or on the Privacy Policy page:

```
<a href="#cookie_settings_modal">Cookie Settings</a>
```

Or use the shortcode `[cookie_settings_modal]`.

To add it in the footer, go to **Headers & Footers** > **Footers**, edit **every** footer used on the site, paste the link, and save.

## Optional: edit the banner text

On **Site Settings** > **AgentFire Settings** > **GDPR & Cookie Consent** you can change:

* The banner text and button labels
* The Cookie Settings window title and descriptions
* Colors, so the banner matches your site

In the banner text you can link to the settings window with `[settings]settings[/settings]`.

You don't need to change any of this for the banner to work.

![Banner settings](https://2039430885-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq65vhH2v4k5rpDOha9Vm%2Fuploads%2Fgit-blob-478f91a8c5d21e3e7802c4c96a7ba571c24ba05d%2Fe0c89a2e-image-png-Aug-18-2026-07-21-10-8164-PM.png?alt=media)

## What visitors will see

* A cookie banner until they make a choice.
* Choices for **Essential**, **Functional**, and **Analytics & Marketing** cookies.
* After they choose, the banner stays gone as they browse.
* They can open **Cookie Settings** later from the Privacy Policy page (or from a footer or Privacy Policy link you added, if Managed Privacy Policy is off).

![The cookie banner, with a video waiting for Functional cookies at the top](https://2039430885-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq65vhH2v4k5rpDOha9Vm%2Fuploads%2Fgit-blob-5aade30431a08e3370e9e0b2a7e053154d3e9681%2Fe3c59be7-image-png-Aug-18-2026-07-13-05-2639-PM.png?alt=media)

A few things you may notice on the live site:

* Some embedded content (videos, calendars, booking widgets) may show a placeholder until the visitor allows Functional cookies, or until they click to load it.
* Advertising and analytics reports will likely show fewer tracked conversions. Tracking only runs for visitors who allow Analytics & Marketing cookies. The visits themselves have not disappeared.
* Listing search and maps keep working. That's expected.

## Cookie categories

Go to **Site Settings** > **AgentFire Settings** > **Header/Footer Scripts & Metas**. Each box in use has a category dropdown.

![Cookie consent category dropdowns on Header/Footer Scripts & Metas](https://2039430885-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq65vhH2v4k5rpDOha9Vm%2Fuploads%2Fgit-blob-e6c759bb1c26ab434ce6a5502236c7a287d0794d%2F30f56569-image-png-Aug-18-2026-07-54-36-3923-PM.png?alt=media)

| Category                    | Use it for                                              | When it loads                                  |
| --------------------------- | ------------------------------------------------------- | ---------------------------------------------- |
| **Essential (always load)** | JS or CSS the site breaks without                       | Always                                         |
| **Functional**              | Optional tools that are not ads (chat, video, Calendly) | After the visitor allows Functional            |
| **Analytics & Marketing**   | Ads, pixels, trackers, GTM, GA                          | After the visitor allows Analytics & Marketing |

**If you are not sure, choose Analytics & Marketing.**

Maps, listing search and other built-in features are already set. Use the rest of this section if you pasted tracking or widget code yourself.

## Categorize with AI

**Categorize scripts with AI** is in the sidebar on **Header/Footer Scripts & Metas** (the whole site) and on **Advertising and Tracking Scripts** in **Page settings** (that page or post only). It can suggest categories and move code between the boxes on that screen. That is a suggestion, not a legal review.

{% stepper %}
{% step %}

### Click Categorize

Wait until it finishes. Changed boxes are highlighted.
{% endstep %}

{% step %}

### Review each box

Change anything you don't want.
{% endstep %}

{% step %}

### Save or undo

Click **Update Settings** to save your choices, or **Revert** to undo.
{% endstep %}
{% endstepper %}

Nothing goes live until you click **Update Settings**. The categories on the site are the ones you save.

A run on **Header/Footer Scripts & Metas** doesn't change a page or post. A run in **Page settings** doesn't change the site-wide boxes or other pages.

![Categorize scripts with AI in the sidebar](https://2039430885-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq65vhH2v4k5rpDOha9Vm%2Fuploads%2Fgit-blob-ebecdbc38b94ccd7d5534fa8fa6545c9c2e530cd%2F79932564-image-png-Aug-18-2026-07-10-32-1529-PM.png?alt=media)

## Where each script goes

Put each script in the box from this table. Using a different box can stop it from working, or load it under the wrong cookie category.

{% hint style="info" %}
**Two boxes were renamed.** **Head first** used to be called **Facebook Pixel Code**, and **Footer after closing tag** used to be called **Google Remarketing Script**. Older screenshots may still show the old names.
{% endhint %}

| Script                                        | Box                                                                                                      | Category              |
| --------------------------------------------- | -------------------------------------------------------------------------------------------------------- | --------------------- |
| GA4 / gtag.js                                 | **Head first**                                                                                           | Analytics & Marketing |
| Google Tag Manager (plus its noscript tag)    | **Head first**, and the noscript tag in **Body before closing tag** or **Footer after closing tag** (\*) | Analytics & Marketing |
| Meta Pixel (plus its noscript tag)            | **Head first**, and the noscript tag in **Body before closing tag** or **Footer after closing tag** (\*) | Analytics & Marketing |
| Two marketing scripts that both need the head | **Head first**                                                                                           | Analytics & Marketing |
| Hotjar, Microsoft Clarity, session recording  | **Head first**                                                                                           | Analytics & Marketing |
| JSON-LD / schema markup                       | **Site Meta Tags**                                                                                       | Essential             |
| Custom CSS or JS with no outside requests     | **Site Meta Tags**, **Body after opening tag**, or **Footer after opening tag**                          | Essential             |
| Google Ads remarketing                        | **Footer after closing tag**                                                                             | Analytics & Marketing |
| Chat widget                                   | **Footer before closing tag**                                                                            | Functional            |

(\*) Ignore the official recommendation to put `<noscript>` early. It isn't relevant for normal visitors. Put the GTM or Meta noscript tag in **Body before closing tag** or **Footer after closing tag**.

**JS, CSS or fonts loaded from another site:** you choose the category. If you are not sure, choose Analytics & Marketing. Functional code goes in **Head after opening tag**. Essential code goes in **Site Meta Tags**. **Categorize** may fill this in. You still choose what to save.

A few more rules:

* If the code uses jQuery, put it in **Body after opening tag** or a footer box, not in **Head after opening tag**.
* Don't put Facebook, Google Tag Manager or `gtag` tracking on Essential. Those belong on Analytics & Marketing.
* If two scripts work together (for example one uses `fbq` or `gtag` from the other), give them the same category.
* If a box shows a warning, read it before you save.

## Page-level scripts

**Edit** opens the visual editor. **Advertising and Tracking Scripts** is not there.

Open **Pages** or **Posts**, then on the row open **Actions** and choose **Page settings**. Look for **Advertising and Tracking Scripts**:

* Script after head opening tag
* Script after body opening tag
* Script before body closing tag

The same **Categorize** sidebar is on this screen. It only changes those three boxes on this page or post.

Check the home page first, then any landing pages you run ads to. Use the same table as above. On a page, the Pixel or GTM script goes in **Script after head opening tag**, and the noscript tag goes in **Script before body closing tag**.

![Advertising and Tracking Scripts in Page settings, with Categorize](https://2039430885-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq65vhH2v4k5rpDOha9Vm%2Fuploads%2Fgit-blob-eff0ef705900e72dfc4bfb359d41105996c93a88%2F5c1caf6a-Categorize-with-AI.png?alt=media)

## Custom code in the Spark Editor

**Edit** also opens the Spark Editor. A **Coder** widget can hold custom HTML or JavaScript (for example a third-party embed). When Cookie Consent is on, that widget has a **Cookie Consent Category** dropdown: Essential, Functional, or Analytics & Marketing.

The default is **Essential**, so the code loads before the visitor chooses. If it's a widget, chat, video, calendar or tracker, change the category. If you are not sure, choose Analytics & Marketing.

![A Coder widget with the Cookie Consent Category dropdown](https://2039430885-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq65vhH2v4k5rpDOha9Vm%2Fuploads%2Fgit-blob-859bd3d7957680e76606b64ee933848d40e4d1d7%2F0f38dd95-image-png-Aug-18-2026-10-21-09-9556-PM.png?alt=media)

**Categorize** doesn't change Coder widgets. Set the category on the widget.

Visitors may see a placeholder on that block until they allow the matching category, or until they click to load it.

## Check that it is working

Open your site in a private or incognito window (not while you're logged in to the admin) and confirm:

1. The cookie banner appears on the first visit.
2. After you make a choice, the banner disappears and stays gone when you visit another page.
3. The Privacy Policy page has a **Cookie Settings** link (skip this if Managed Privacy Policy is off and you haven't added a link yet).
4. Clicking that link opens a window with the category toggles.

## Common Questions

<details>

<summary>Why am I seeing a notice in my dashboard?</summary>

Your site looks like it uses advertising or tracking scripts. You can show visitors a cookie banner so they can manage their cookie preferences.

</details>

<details>

<summary>Do I have to turn it on?</summary>

No. It's your choice. Some sites use advertising or analytics tools that send data to other companies. A cookie banner lets visitors choose those optional cookies. Whether you need that for your situation is a question for your attorney.

</details>

<details>

<summary>Will this make my site legally compliant?</summary>

Cookie Consent is a tool. It doesn't mean the site is compliant, and it isn't legal advice.

</details>

<details>

<summary>Do I need to categorize every script myself?</summary>

**Categorize** can suggest categories on **Header/Footer Scripts & Metas** and on **Advertising and Tracking Scripts** in **Page settings**. You still review each box and save. It doesn't change **Coder** widgets in the Spark Editor; set those on the widget. If you are not sure, choose Analytics & Marketing.

</details>

<details>

<summary>Categorize put a script in the wrong place.</summary>

Don't save yet. Click **Revert**, or fix the box using the table above, then **Update Settings**. If you already saved and something on the site broke, email <support@agentfire.com> with your site address.

</details>

<details>

<summary>Why did my ad reports drop?</summary>

Tracking pixels and tags only load after a visitor allows Analytics & Marketing cookies. Fewer agreed visits means fewer tracked conversions. Traffic to the site hasn't necessarily changed.

</details>

<details>

<summary>Google says my tag wasn't detected.</summary>

![Google's tag test saying the tag wasn't detected](https://2039430885-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq65vhH2v4k5rpDOha9Vm%2Fuploads%2Fgit-blob-041e21b8864d412faea1e5832f2035e072cb2d45%2Fb21e4ee4-image-png-Sep-05-2026-09-37-01-2639-PM.png?alt=media)

The **Test** button on Google's install screen doesn't click the cookie banner, so Analytics & Marketing tags don't load. Use [Google Tag Assistant](https://tagassistant.google.com/): open the site, allow Analytics & Marketing, then confirm the tag. Fewer tracked visits after that is expected.

![Google Tag Assistant showing Tag Assistant Connected](https://2039430885-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq65vhH2v4k5rpDOha9Vm%2Fuploads%2Fgit-blob-a5097da7448ab85656b30fb2562ed55c6ef6089c%2Fb2010209-image-png-Sep-05-2026-09-47-11-7836-PM.png?alt=media)

</details>

<details>

<summary>Why is a video, chat or calendar missing until I click?</summary>

Those are Functional. They wait until the visitor allows Functional cookies, or until they choose to load that embed.

</details>

<details>

<summary>Why do maps and listing search still work before anyone clicks the banner?</summary>

They're part of how the site works for visitors looking at properties. That's expected, not a bug.

</details>

<details>

<summary>The banner never appears, or it comes back on every page.</summary>

First check in a private (incognito) window while logged out of the admin. If it still happens, email <support@agentfire.com> with your site address and what you see.

</details>

<details>

<summary>A form, map, video or the layout looks broken after I turned it on.</summary>

Email <support@agentfire.com> with your site address and what broke.

</details>

<details>

<summary>Can visitors change their mind later?</summary>

Yes. On most sites they use the **Cookie Settings** link on the Privacy Policy page. If Managed Privacy Policy is off, add that link in the footer or on the Privacy Policy page (see [Changing cookie choices later](#changing-cookie-choices-later)).

</details>

<details>

<summary>A scanning tool still reports outside requests before consent.</summary>

Send the report and your site address to <support@agentfire.com>. A cookie banner doesn't mean every outside request stops.

</details>

## When to contact support

You don't need support to turn Cookie Consent on. For Facebook, Google and GTM, use the table above. Email <support@agentfire.com> if:

* The banner doesn't appear at all
* The banner comes back on every page after a choice
* Visitors can't change their cookie choice later
* A map, video, calendar, listing search or form stopped working
* The site looks visibly broken after you turned Cookie Consent on
* Categorize fails, or the site looks broken after you saved what it suggested
