Tovább a tartalomhoz

Közösségi média mint külön sütikategória

Hogyan adhatsz a sütisávhoz „Social media” kategóriát MU-pluginnal, és mit kell tudni a korlátairól.

A Complianz alapból három hozzájárulási kategóriát használ (funkcionális, statisztika, marketing), a közösségi média szolgáltatásait a marketinghez sorolja. A kérdés mégis gyakori, ezért egy MU-pluginnal külön Social media kategóriát vehetsz fel a sütisávba.

Fontos: ez nem változtatja meg, hogyan csoportosítja a sütiket és a szolgáltatásokat a cookiedatabase.org. A kategória csak a sávban jelenik meg, és a hozzájárulást a megadott közösségi szolgáltatásokra alkalmazza.

  • A sütisáv HTML-jébe (szűrő: cmplz_banner_html) egy új, lenyitható Social media kategóriát tesz a marketing kategória elé, jelölőnégyzettel.
  • Ha a látogató a Beállítások mentése gombbal elmenti a választását, és a Social media be van jelölve, a plugin engedélyezi az általános kategóriát és a felsorolt szolgáltatásokat, és beállít egy socialmedia sütit allow értékkel.
  • A következő látogatáskor a jelölőnégyzet be lesz pipálva, ha a süti értéke allow; a hozzájárulás visszavonásakor a süti deny lesz.
  • Ha a kategória engedélyezve van, socialmedia eseményt küld a dataLayer-be, és a cmplz_tag_manager_event eseményt is kiváltja (Tag Managerhez).

A kód teljes változata az alábbi, az MU-plugin létrehozásához a saját MU-plugin készítéséről szóló fejezet ad útmutatót.

  • A Social media kategória leírása (a „Social Media descriptive text” megjegyzés alatti _e() szöveg), tetszés szerint átírható. Az alapszöveg a marketing kategória leírását ismétli: „The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.”
  • A szolgáltatások listája (a services tömb a szkriptben): itt vehetsz fel vagy törölhetsz közösségi szolgáltatásokat. Alapértelmezés: facebook, instagram, whatsapp, tiktok, pinterest, linkedin, twitter, disqus.
let services = ['facebook', 'instagram', 'whatsapp', 'tiktok', 'pinterest', 'linkedin', 'twitter', 'disqus'];
<?php
function cmplz_add_social_media_category( $html ) {
$pattern = '/<details class="cmplz-category cmplz-marketing.*?<\/details>/is';
ob_start();
?>
<details class="cmplz-category cmplz-socialmedia">
<summary>
<span class="cmplz-category-header">
<span class="cmplz-category-title"><?php _e( "Social media", "complianz-gdpr" ) ?></span>
<span class="cmplz-banner-checkbox">
<input type="checkbox" id="cmplz-socialmedia-optin" data-category="cmplz_socialmedia" class="cmplz-consent-checkbox cmplz-socialmedia" size="40" value="1">
<label class="cmplz-label" for="cmplz-socialmedia-optin" tabindex="0"><span></span></label>
</span>
<span class="cmplz-icon cmplz-open">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18"><path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"></path></svg>
</span>
</span>
</summary>
<div class="cmplz-description">
<span class="cmplz-description-socialmedia">
<!-- Social Media descriptive text -->
<?php _e( "The technical storage or access is required to create user profiles to send advertising,
or to track the user on a website or across several websites for similar marketing purposes.", "complianz-gdpr" ) ?></span>
</div>
</details>
<?php
$social = ob_get_clean();
if ( preg_match( $pattern, $html, $matches ) ) {
$marketing = $matches[0];
$html = str_replace( $marketing, $social . $marketing, $html );
}
return $html;
}
add_filter( 'cmplz_banner_html', 'cmplz_add_social_media_category' );
function cmplz_social_media_script() {
ob_start();
?>
<script>
document.addEventListener('click', e => {
if ( e.target.closest('.cmplz-save-preferences') ) {
let social_media_enabled = document.querySelector('input.cmplz-socialmedia').checked;
if (social_media_enabled) {
// szolgáltatások hozzáadása vagy törlése itt
// ha bármelyik szolgáltatás engedélyezett, az általános kategória is az, mert egyes szolgáltatások részben általánosak
let services = ['facebook', 'instagram', 'whatsapp', 'tiktok', 'pinterest', 'linkedin', 'twitter', 'disqus'];
cmplz_enable_category('', 'general');
for (let key in services) {
if (services.hasOwnProperty(key)) {
let service = services[key];
if (service.length == 0) continue;
cmplz_set_service_consent(service, true);
cmplz_enable_category('', service);
document.querySelectorAll('.cmplz-accept-service[data-service=' + service + ']').forEach(obj => {
obj.checked = true;
});
}
}
cmplz_set_cookie('socialmedia', 'allow');
}
}
});
document.addEventListener("cmplz_before_cookiebanner", function(e) {
if (cmplz_get_cookie('socialmedia') === 'allow'){
document.querySelector('input.cmplz-socialmedia').checked = true;
}
});
document.addEventListener("cmplz_fire_categories", function (e) {
var consentedCategories = e.detail.categories;
if ( cmplz_in_array( 'socialmedia', consentedCategories ) ) {
if (cmplz_fired_events.indexOf('socialmedia') === -1) {
cmplz_fired_events.push('socialmedia');
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': complianz.prefix+'event_socialmedia'
});
let event = new CustomEvent('cmplz_tag_manager_event', { detail: 'socialmedia' });
document.dispatchEvent(event);
}
}
});
document.addEventListener("cmplz_revoke", function(e) {
cmplz_set_cookie('socialmedia', 'deny');
});
</script>
<?php
$script = ob_get_clean();
$script = str_replace( array( '<script>', '</script>' ), '', $script );
wp_add_inline_script( 'cmplz-cookiebanner', $script );
}
add_action( 'wp_enqueue_scripts', 'cmplz_social_media_script', PHP_INT_MAX );

Miért nem alapértelmezett a „Social media” kategória?

Szekció neve “Miért nem alapértelmezett a „Social media” kategória?”

Az egyik leggyakoribb kérdés a sáv beállításakor: miért nem szerepel a legtöbb sávban „Social media” kategória, csak a funkcionális, a beállítások, a statisztika és a marketing. Az ok az, hogy a legtöbb adatvédelmi jog szerint ez nem megfelelő. Idő kérdése, hogy egy adatvédelmi hatóság vagy egy olyan szervezet, mint a NOYB, fellépjen az olyan webhelyek ellen, amelyek „Social media” kategóriát használnak.

A közösségi média nem cél. A látogató nem tudhatja, mit jelent a „Social media” a sávon. Lehet beágyazott Instagram-videó, láthatatlan Facebook-pixel újracélzáshoz, követés nélküli WhatsApp Business vagy beágyazott Twitter-hírfolyam. Ha a sávon külön kategóriaként kérdezel rá egy funkcióra (közösségi média, spamvédelem, kényelmes böngészés, videó), a további célokhoz (marketing, követés, statisztika) még mindig hiányzik a hozzájárulás.

Mit jelent ez a gyakorlatban? A hozzájárulás előtt tájékoztatnod kell a látogatót, hogy a javasolt funkcióhoz adott hozzájárulás a harmadik felek szolgáltatásainak további céljaira is érvényes (marketing, követés, statisztika). Példa a Facebook-pixelre: ez közösségi szolgáltatás, amely személyes adatot használ marketing- és követési célra. Ilyenkor a marketing/követés kategóriára kell hozzájárulás, nem csak a „közösségi média” funkcióra.

Ritka kivétel, ha egy közösségi szolgáltatás marketing-, követési vagy statisztikai célra nem tárol és nem olvas információt a látogató böngészőjéből vagy eszközéről: ilyenkor a funkcionális és szükséges sütikre vonatkozó ePrivacy-kivétel miatt hozzájárulás egyáltalán nem szükséges.

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások