Next.js Discord

Discord Forum

implement IUBENDA CMP on nextjs (we might get sued)

Unanswered
Havana posted this in #help-forum
Open in Discord
HavanaOP
Hi, i'm working on a project that's using iubenda to show a cookie banner. IT's supposed to stop all tracking scripts until cookie consent is given.
It ain't working. Cookies for GA, GTM, etc are being set immediately. This is the current implementation. Anybody so kind to avoid us getting sued? Thanks

2 Replies

HavanaOP
function GoogleTagManager() {
  if (!GTM_ID) {
    return null;
  }

  return (
    <Script
      id="google-tag-manager"
      dangerouslySetInnerHTML={{
        __html: `
     gtm script here
    `,
      }}
    />
  );
}

function Iubenda() {
  if (!IUBENDA_SITE_ID) {
    return null;
  }

  return (
    <>
      <Script
        id="iubenda"
        dangerouslySetInnerHTML={{
          __html: `
            var _iub = _iub || [];
            _iub.csConfiguration = {
              "lang": "en",
              "siteId": ${SITEDID},
              "cookiePolicyId": 111111,
              "floatingPreferencesButtonDisplay": false,
              "perPurposeConsent": true,
              "privacyPolicyUrl": "urlhere",
              "banner": {
                "applyStyles": false,
                "acceptButtonDisplay": true,
                 ...config stuff
              },
              "callback": {
                onPreferenceExpressedOrNotNeeded: function(preference) {
                  dataLayer.push({
                    iubenda_ccpa_opted_out: _iub.cs.api.isCcpaOptedOut()
                  });
              
                  if (!preference) {
                    dataLayer.push({
                      event: "iubenda_preference_not_needed"
                    });
                  } else {
                    if (preference.consent === true) {
                      dataLayer.push({
                        event: "iubenda_consent_given"
                      });
                   etc etc...
          `,
        }}
      />

      <Script src="//cdn.iubenda.com/cs/tcf/stub-v2.js" />
      <Script src="//cdn.iubenda.com/cs/tcf/safe-tcf-v2.js" />
      <Script src="//cdn.iubenda.com/cs/ccpa/stub.js" />
      <Script src="//cdn.iubenda.com/cs/iubenda_cs.js" async />
    </>
  );
}

export function CookieBanner() {
  return (
    <>
      <Iubenda />
      <GoogleTagManager />
      {some other tracking scripts}
    </>
  );
}