<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze z tagiem gtm</title>
<link>https://forum.pasja-informatyki.pl/tag/gtm</link>
<description>Powered by Question2Answer</description>
<item>
<title>ReactJS - baner o ciasteczkach - obsługa GTM</title>
<link>https://forum.pasja-informatyki.pl/587946/reactjs-baner-o-ciasteczkach-obsluga-gtm</link>
<description>

&lt;p&gt;Cześć,&amp;nbsp;
&lt;br&gt;
Mam za zadanie przygotować baner informujący o korzystaniu z ciasteczek. Baner wygląda tak:
&lt;br&gt;
&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=6541178697443761738&quot; style=&quot;height:561px; width:600px&quot;&gt;
&lt;br&gt;
Mam problem ze zrozumieniem działania/logiki.&amp;nbsp;
&lt;br&gt;
Mam tag GTM-XXXXXX.
&lt;br&gt;
Mam taki kod React:
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
const [consent, setConsent] = useState({
        essential: true,
        analytics: false,
        marketing: false,
      });
    
      const [displayBanner, setDisplayBanner] = useState(false);
    
      useEffect(() =&amp;gt; {
        const hasConsent = localStorage.getItem('cookieConsent');
        if (!hasConsent) {
          setDisplayBanner(true);
        }
      }, []);
    
      const handleConsentChange = (event) =&amp;gt; {
        const { name, checked } = event.target;
        setConsent((prevConsent) =&amp;gt; ({
          ...prevConsent,
          [name]: checked,
        }));
      };
    
      const handleAcceptAll = () =&amp;gt; {
        setConsent({
          essential: true,
          analytics: true,
          marketing: true,
        });
    
        localStorage.setItem('cookieConsent', JSON.stringify(consent));
        setDisplayBanner(false);
    
        // Dodaj obsługę GTM - wywołaj zdarzenie lub przekaż dane do GTM
        // window.dataLayer = window.dataLayer || [];
        // window.dataLayer.push({
        //   'event': 'cookieConsentGiven',
        //   'consent': 'all',
        // });
      };
    
      const handleAcceptSelected = () =&amp;gt; {
        localStorage.setItem('cookieConsent', JSON.stringify(consent));
        setDisplayBanner(false);
    
        // Dodaj obsługę GTM - wywołaj zdarzenie lub przekaż dane do GTM
        const selectedConsent = Object.keys(consent)
          .filter((key) =&amp;gt; consent[key])
          .join(',');
        console.log(&quot;selectedConsent:&quot;, selectedConsent)
        // window.dataLayer = window.dataLayer || [];
        // window.dataLayer.push({
        //   'event': 'cookieConsentGiven',
        //   'consent': selectedConsent,
        // });
      };

      const handleReject = () =&amp;gt; {
        console.log(&quot;odrzucam wzystkie&quot;)
        setDisplayBanner(false);
      };&lt;/pre&gt;



&lt;p&gt;Co zrobić gdy użytkownik zaakceptuje wszystkie zgody? Jak połączyć logikę tego banera z GTM?&amp;nbsp;
&lt;br&gt;
A co zrobić jeżeli użytkownik zaakceptuje jedynie niezbędne ciasteczka albo niezbędne + marketing (bez analizy)?&amp;nbsp;
&lt;br&gt;
Myślę że nie ja jeden się nad tym głowię więc może komuś też taka wiedza się przyda.&amp;nbsp;
&lt;br&gt;
Pozdrawiam :)&amp;nbsp;
&lt;br&gt;

&lt;br&gt;
P.S. Próbowałem wykorzystać chatGPT ale za dużo to on mi nie pomógł :/&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/587946/reactjs-baner-o-ciasteczkach-obsluga-gtm</guid>
<pubDate>Wed, 13 Sep 2023 05:22:17 +0000</pubDate>
</item>
</channel>
</rss>