How to Create a Cookie Consent Banner for Astro and GTM

· 22 min read

Table of Contents


    Cookies are essential to the optimal functioning of a website, supporting operations, enhancing user experience, and enabling targeted marketing. However, recent privacy regulations, such as the General Data Protection Regulation (GDPR) and the California Consumer Privacy Act (CCPA), necessitate explicit user consent prior to cookie deployment.

    This article provides a comprehensive guide on creating a custom cookie consent banner for Google Tag Manager (GTM) and Astro. We'll explore the technical requirements of the implementation process and provide actionable steps for integrating the consent banner into your website, complete with real-world examples and code snippets.

    Our guide emphasizes the importance of user consent in deploying cookies for storing personal data, particularly for EU users, to ensure compliance with the law. Cookie consent banners are key for websites to comply with privacy regulations and give users control over their privacy and data. They are especially crucial when integrating GTM and Google Analytics 4 (GA4) into your website.

    We'll walkthrough how to create a consent banner that not only secures an explicit user consent but, also capably manages the consent settings for various tags on your website. Moreover, we'll discuss how GTM integrates with a variety of Consent Management Platforms (CMPs), enabling seamless consent settings management.

    Customization is critical to aligning the banner with your website's design and operational requirements. Therefore this guide will also detail various customization options that allow for a more personalized user experience. Additionally, we provide insights on extending the cookie's duration to improve user experience and minimize intrusion.

    At its core, a cookie consent banner serves a fundamental role in maintaining transparency between a website and its users regarding data collection practices. This is particularly salient in the context of privacy regulations, such as the GDPR and the CCPA. These legal frameworks stipulate the need for explicit user consent before cookies can be placed on the user's device. Failure to comply with these guidelines isn't just a breach of trust with your users; it can also lead to significant penalties.

    So, why do websites use cookies? Cookies are small data files that websites place on users’ devices. They serve various functions such as enabling website functionalities, storing user preferences, and facilitating targeted marketing. For instance, a cookie might remember a user's login details, saving them time on future visits. Or it might track a user’s journey across a site, providing valuable data to help businesses optimize their website’s design or product offerings.

    On the practical side, obtaining user consent isn't just about showing a popup and hoping for the best. It's about communicating clearly with users, ensuring they understand what they're consenting to, and giving them an easy way to manage their preferences. But it's also about compatibility with tools that your website uses, such as the Google Tag Manager (GTM).

    Specifically, for those who are planning to use GTM and Astro, a well-structured cookie consent banner is of paramount importance. A banner helps manage when and how tags are fired on your website in response to user consent. In light of the GDPR, consent has become the cornerstone of lawful data processing. GTM allows for advanced tracking and customization based on user consent, making the process more streamlined and efficient.

    In essence, a cookie consent banner isn't just a legal requirement; it's a tool that fosters trust between businesses and their users, enhancing the overall user experience. It’s an integral part of the user interface, communicating respect for user privacy and adhering to a "Privacy by Design" ethos. This commitment to user privacy can significantly boost brand trust and foster a healthier relationship with your users - something that is increasingly critical in our data-driven digital landscape.

    Let's have a look into the specifics of integrating a cookie consent banner into your GTM and Astro-enabled website. We'll walk you through the process, step-by-step, supplementing our instruction with real-world examples and code snippets. As a note of caution, it's essential to keep in mind that the information provided here does not constitute legal advice. It's always prudent to consult with a legal expert to ensure total compliance with data privacy laws.

    The first step in creating a cookie consent banner is setting up the necessary components. You can utilize a Consent Management Platform (CMP) such as Cookiebot or CookieYes. These platforms allow you to generate a customizable cookie consent banner, as well as manage the various cookies your website is using and their particular consent settings.

    The banner itself can be constructed using languages like SolidJS and styled with Tailwind CSS. This setup allows you to display a banner at the bottom-right of your screen, which includes a button to accept cookies and a link to your website's privacy policy.

    Next, you'll need to insert the necessary scripts for the cookie consent banner and the cookie declaration on your site. From a technical standpoint, it's essential to note that you'll need to handle user consent updates and retrieve the value of the cookie storing consent status.

    // Creating a function to handle user consent updates
    function updateConsent() {
    // Code to update user consent goes here
    // Creating a function to retrieve cookie consent status
    function getConsent() {
    // Code to get the user's consent status goes here

    To avoid displaying the banner in each user session, consider extending the lifespan of the cookie to a year or so. This approach balances compliance with user experience, reducing intrusive re-prompts.

    Now let's consider the integration of the consent banner in GTM.

    Need help setting up GTM in Astro?

    We have a full guide for getting going with GTM in Astro, with code examples and ste by step instructions.

    Google Tag Manager provides features for comprehensive consent management. The Consent Initialization trigger and tag settings allow you to manage how various tags behave in response to the consent settings. This functionality ensures all consent settings are honored before any other triggers fire.

    These consent settings can be customized under Advanced Settings. Tags with built-in consent checks can modify their behavior based on the consent granted. This feature allows your tags to act accurately and in alignment with user preferences, ensuring you don't collect data without explicit consent.

    // Configuring Google Tag Manager consent settings
    gtmId: 'GTM-XXXX',
    consentSettings: {
    ad_storage: 'denied',
    analytics_storage: 'granted',
    // Add additional consent types as required

    Also, Google Tag Manager supports integration with various CMPs. CMPs have templates available in the Tag Manager Community Template Gallery, simplifying the connection and allowing seamless management of consent settings.

    Finally, as part of your development process, remember to test your implementation. For GA4, you can use tools like Google Tag Assistant. Testing ensures your consent banner functions as intended and avoids unpleasant surprises once your changes are live to your users.

    With these steps and insights, you should be well on your way to creating and implementing a robust, compliant cookie consent banner for your website running on Astro and utilizing Google Tag Manager.

    In the previous section, we walked through the technical process of creating a cookie consent banner using Google Tag Manager (GTM) and Astro. While compliance and functionality are vital, it’s equally important to consider the user experience. Therefore, customizing your cookie consent banner to align with your website's aesthetics and brand identity can significantly enhance user engagement and minimize disruption.

    One of the key aspects of customization is the visual design of the consent banner. You can use styling frameworks like Tailwind CSS to design a banner that fits seamlessly with the rest of your website. The goal is to create a visually appealing and noticeable banner without obstructing the user's navigation of the site.

    Next, consider the placement of the consent banner. While most websites position their banners at the bottom of the screen, you might decide that the top or a corner is more appropriate for your design. Whatever location you choose, ensure it's noticeable without dominating the screen.

    Customizing the text in your banner is another crucial aspect. While the message should be clear and concise, it should also echo your brand's voice. Whether your brand voice is professional, friendly, or playful, projecting this tone in your consent banner can keep the user experience consistent.

    // Creating a function to display custom consent banner
    function displayConsentBanner() {
    return (
    <div className="cookie-consent-banner">
    <h2>Welcome to our Website!</h2>
    <p>We use cookies to provide you with the best possible experience on our website.</p>
    <button onClick={() => acceptCookies()}>Accept</button>
    <a href="/privacy-policy">Learn more</a>

    For even more customization, consider incorporating granular consent options. Instead of presenting users with a binary choice to accept or reject cookies, offer them the ability to customize their preferences. You could categorize cookies by their function - necessary, performance, analytics, advertising, etc. - and allow users to opt-in or out of each category. This approach not only respects user autonomy but can also contribute to a more personalized web experience.

    // Adding granular consent options
    function presentConsentOptions() {
    return (
    <div className="cookie-consent-options">
    <p>You can customize the cookies we use below:</p>
    <input type="checkbox" id="analytics" name="analytics" value="Analytics">
    <label for="analytics">Analytics</label>
    <input type="checkbox" id="marketing" name="marketing" value="Marketing">
    <label for="marketing">Marketing</label>
    // Add additional categories as needed

    Moreover, consider using integrated CMPs like Cookiebot or CookieYes. These platforms offer features such as customizable cookie banners, granular cookie control, and automatic script blocking. This integration not only promotes seamless consent management but also offers numerous customization options.

    Finally, remember that customization isn’t just about appearance or functionality - it's also about timing. Optimize when the banner appears based on user behavior and your website's needs. For instance, you might decide to trigger the banner after users have spent a certain amount of time on your site or after they've navigated to a specific page.

    To sum up, customization, when carried out thoughtfully, can help you create a cookie consent banner that not only complies with privacy laws but also aligns with your branding and maximizes user engagement. The goal is not just to inform users about cookies but to create a dialogue with them about privacy, trust, and individual choice in a way that enhances rather than disrupts their experience.

    Google Tag Manager (GTM) plays a pivotal role in managing cookie consent settings on your website. Its robust functionality enables websites to effectively control how tags behave in response to consent settings. This can be particularly essential when considering various types of cookies and their respective functionalities, such as ad storage, analytics_storage, personalization_storage, and security_storage. So, how can we leverage GTM for comprehensive consent management?

    One of GTM's unique features is its 'Consent Initialization' trigger. This trigger ensures all consent settings are honored before any other triggers fire. For instance, it can be used for tags that set or update the user's consent state on your site. By default, each web container in GTM includes a Consent Initialization trigger that can be selected for tags that require it.

    // Configuring Google Tag Manager Consent Initialization trigger
    gtmId: 'GTM-XXXX',
    consentInitialization: {
    consent: 'default'

    Furthermore, GTM allows each tag to have customizable consent settings that can be edited under 'Advanced Settings > Consent Settings' in any web tag:

    Consent settings in Google Tag Manager for each tag.

    Tags with built-in consent checks can modify their behavior based on the consent granted. By defining these settings, you enforce a layer of control over how tags behave, ensuring they act accurately and respect the consent parameters set by your users.

    // Updating consent settings in Google Tag Manager
    tagName: 'Some Tag Name',
    advancedSettings: {
    consentSettings: {
    ad_storage: 'denied',
    analytics_storage: 'granted'
    // Include additional consent types as needed

    Moreover, GTM provides a 'Consent Overview' page offering a holistic view of all the consent settings across the tags in your container. It categorizes tags into 'Consent Not Configured' and 'Consent Configured', offering visibility and control over multiple tags simultaneously:

    Example screenshot of cookie content overview screen.

    This feature equips you with the ability to edit consent settings for multiple tags in a streamlined fashion.

    GTM also boasts comprehensive integrations with various Consent Management Platforms (CMPs), which allow for seamless management of consent settings. Platforms like Cookiebot and CookieYes have templates available in the Tag Manager Community Template Gallery. These templates simplify the integration between GTM and the respective CMP, promoting smooth management of consent settings.

    // Integrating Consent Management Platform with Google Tag Manager
    cmp: 'CookieYes',
    // Include other CMP configurations as needed

    Finally, GTM supports the Interactive Advertising Bureau (IAB) Transparency & Consent Framework (TCF) v2.0. If TCF support is enabled, Google product tags, such as those for Google Ads and Google Analytics, will respect TCF user consent settings. This means tags will only fire when a user has granted consent, offering a robust mechanism for managing user data in compliance with privacy regulations.

    By leveraging GTM's advanced features for consent management, you can assure effective management of tag behaviors in response to consent settings. This not only ensures compliance with privacy regulations but also promotes a transparent and trust-building user experience on your website.

    Ensuring Compliance with Privacy Regulations

    Complying with privacy regulations is a fundamental aspect of data management practices for all websites. Data privacy laws such as the General Data Protection Regulation (GDPR) and California Consumer Privacy Act (CCPA) mandate stringent guidelines for data collection, storage, and processing, especially when it comes to cookie usage.

    A cookie consent banner is a key tool in ensuring legal compliance. But to fully comply with privacy laws, there's more to it than just deploying a cookie consent banner. You must also keep in mind certain considerations that are often overlooked.

    One of the key requirements of privacy regulations is the necessity for explicit, informed user consent before setting a cookie. While this may seem straightforward, it's crucial to ensure that your cookie consent banner is both clear and comprehensive. This means accurately informing users about the type of cookies used, their purpose, and how their data is processed. An informed user is not just a legal requirement–it's a testament to your respect for user privacy and autonomy.

    // Sample cookie consent banner text
    <div class="cookie-banner">
    <p>We use cookies to provide and improve our services, enhance your browsing experience, and provide personalized content. By clicking "Accept all", you consent to the use of ALL cookies. You can also manage your cookies in "Settings". For more information, read our Cookie Policy.</p>
    <button>Accept all</button>

    Additionally, compliance regulations necessitate that once a user gives consent, you must have a system in place to respect and implement the user preferences. This is where tools like Google Tag Manager (GTM) become crucial. With GTM, you can manage how tags are fired on your website in response to user consent. For instance, if a user hasn't provided consent for analytics cookies, GTM ensures that no analytics tags will fire.

    Remember, privacy regulations are not static and are often subject to updates and reinterpretations. As such, your cookie consent management system should be flexible enough to adapt to these changes swiftly and efficiently. Furthermore, you must regularly audit your website's cookie use and data handling practices to ensure ongoing compliance. Tools like Cookiebot offer automatic website scanning functionality that can help identify and categorize cookies used on your website.

    Maintaining a record of user consents is also an important requirement to prove compliance in case of audits or data protection authority investigations. Ensure that your Consent Management Platform (CMP) or GTM setup facilitates consent logging.

    Lastly, offering users an easy way to withdraw their consent is as important as obtaining it. Privacy laws stipulate that the process of withdrawing consent should be as simple as giving it. So, be sure your website provides an easily accessible option for users to change their cookie settings or withdraw their consent entirely.

    // Sample cookie settings option
    <div class="cookie-settings">
    <p>You can change your cookie preferences at any time. Remember, disabling cookies may affect your experience on the website.</p>
    <button>Change preferences</button>

    In conclusion, while a cookie consent banner is an essential component of privacy law compliance, it's not the only requirement. A comprehensive approach that ensures informed user consent, respects user preferences, regularly audits cookie use, and logs user consents is key to adherence with privacy regulations. Not only does this assure legal compliance, but it also builds trust with your users - valuing their privacy and promoting a more transparent, respectful digital environment.

    Implementing a cookie consent banner is not just about compliance; it's a strategic move that influences your website's user experience and overall performance. With that understanding, let's discuss some best practices for implementing a cookie consent banner specifically for Google Tag Manager (GTM) and Astro.

    1. Understand Your Cookies: Before you can inform users about your use of cookies, you need to understand your cookie landscape. Identify and classify all cookies used on your website - from necessary to performance, analytics, and advertising cookies. Additionally, distinguish between first-party and third-party cookies. This will help create a clear, accurate, and comprehensive consent banner.

    2. Prioritize Clarity and Transparency: The main aim of a cookie consent banner is to inform users about your use of cookies, so clarity is paramount. Use clear, plain language and avoid overly technical jargon. Be transparent about why you're using cookies, what data they collect, and how they enhance the user experience.

    3. Customize the User Experience: A cookie consent banner does not have to be a bland, disruptive element on your site. Customize the design, copy, and position of the banner to match your website's look and feel. However, ensure that despite the customization, the banner remains noticeable and accessible for users.

    4. Implement Granular Consent: Compliance regulations advocate for giving users more control over their data. Implement granular consent options, allowing users to choose which types of cookies they accept or reject. This creates a more engaging user experience and empowers users to make informed decisions.

    5. Leverage Google Tag Manager: Google Tag Manager (GTM) offers robust consent management capabilities. Use GTM to control how tags behave in response to user consent. This involves utilizing features like the Consent Initialization trigger and the Consent Overview page, helping to ensure tags comply with the consent granted.

    6. Integrate with a Consent Management Platform (CMP): CMPs, such as Cookiebot or CookieYes, offer functionality that streamline consent management. From customizable banners and detailed consent logs, to automatic script blocking and website scanning, integrating a CMP can simplify the consent process.

    7. Regularly Review and Update Your Banner: As privacy laws and website functionalities evolve, so should your cookie consent banner. Regularly review your banner to ensure it reflects any changes in your cookie usage or any updates in privacy laws.

    8. Test and Optimize: Lastly, test your cookie consent banner across various devices and browsers to ensure proper functionality. Also, analyze user interactions with the banner to identify opportunities for optimization.

    Adhering to these best practices will not only help ensure compliance with privacy laws but also foster trust with your users, enhance user experience, and ultimately optimize your website's performance.


    In this comprehensive guide, we've explored the vital role of cookie consent banners in ensuring privacy law compliance, enhancing user experience, and fostering transparency in data processing practices. We've navigated through the technical aspects of creating a consent banner for Google Tag Manager (GTM) and Astro, and discussed the importance of customization to align with your website's aesthetics and operational requirements.

    Effective consent management was highlighted through innovative features in GTM and the integration with Consent Management Platforms (CMPs). We've emphasized the need to ensure ongoing compliance with ever-evolving privacy laws through carefully informed user consent, respect for user preferences, regular audits, and proper consent logging.

    Remember that implementing a cookie consent banner is not just about ticking off a compliance box. It's an opportunity to engage with your users about their data rights, improve their web experience, and foster trust by demonstrating your commitment to privacy.

    Richard Lawrence

    About Richard Lawrence

    Constantly looking to evolve and learn, I have have studied in areas as diverse as Philosophy, International Marketing and Data Science. I've been within the tech space, including SEO and development, since 2008.
    Copyright © 2024 evolvingDev. All rights reserved.