Ankündigung

Einklappen
Keine Ankündigung bisher.

Matomo Privacy Template fehlerhaft

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Matomo Privacy Template fehlerhaft

    Ich habe nun diverse Versuche mit dem mitgelieferten Matomo Template unternommen.

    Das standardmäßig im Template Ordner hinterlegt Template trägt den Namen analytics_piwik und ist wohl veraltet -> könntet ihr ja auch nicht mehr mitliefern?

    Über neues Template im Backend lässt sich analytics_matomo neu anlegen ->
    PHP-Code:
    // To use this script, please fill in your Matomo site ID and Matomo URL below
    $MatomoSite = 5;
    $MatomoPath = "https://matomo.defaultpage.de/";

    // DO NOT EDIT ANYTHING BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING!
    if ($MatomoSite > 0 && '//www.example.com/matomo/' != $MatomoPath && !BE_USER_LOGGED_IN && !$this->hasAuthenticatedBackendUser()): ?>

    <script>
      var _paq = window._paq = window._paq || [];
      _paq.push(['trackPageView']);
      _paq.push(['enableLinkTracking']);
      (function() {
        var u='<?= $MatomoPath ?>';
        _paq.push(['setTrackerUrl', u+'matomo.php']);
        _paq.push(['setSiteId', <?= $MatomoSite ?>]);
        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
        g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
      })();
    </script>

    <?php endif; ?>
    Dieses Template enthält keine OptIn-Funktion über den Privacy Manager.

    Wenn ich hier eine solche analog Piwik-Template ergänzen will:
    Code:
     // Optin privacy setting token
      if( PrivacyManager.hasAccess(3) )
      {
      initPiwik();
      }
       
      // listen to privacy event
      jQuery(document).on('Privacy.changed',function(event,params)
      {
      if( PrivacyManager.hasAccess(3) )
      {
      initPiwik();
      }
      });
       
      </script>
       
      <?php endif; ?>
    gibts Mecker, da die Privacymanager Variable nicht gefunden wird.

    Ich habe daher nun auf einen Teil der Privacy Abfrage von den openstreetmap Templates zurückgegriffen mit (if(token.indexOf(2) >= 0):
    Code:
     <?php
       
      /**
       * To use this script, please fill in your Piwik site ID and Piwik URL below
       */
      $MatomoSite = 5;
      $MatomoPath = "https://matomo.defaultsite.de/";
       
       
      /**
       * DO NOT EDIT ANYTHING BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING!
       */
      if (!BE_USER_LOGGED_IN && !$this->hasAuthenticatedBackendUser()): ?>
       
      <script>
       
      function initMatomo()
      {
      // add piwik pixel to the body
        var _paq = window._paq = window._paq || [];
        /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
        _paq.push(['trackPageView']);
        _paq.push(['enableLinkTracking']);
        (function() {
          var u='<?= $MatomoPath ?>';
          _paq.push(['setTrackerUrl', u+'matomo.php']);
          _paq.push(['setSiteId', <?= $MatomoSite ?>]);
          var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
          g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
        })();
      }
       
      var token = localStorage.getItem('user_privacy_settings');
      if( token == undefined )
      {
      token = '';
      }
      if(token.indexOf(2) >= 0)
      {
      initMatomo();
      }
      </script>
       
      <?php endif; ?>
    Damit scheint es zumindest zu funktionieren.
    Könntet ihr den mitgelieferten Code nochmals überprüfen und ggfs. eine neue Vorlage mitliefern. Ich bin nicht sicher, ob der Weg so nun passt und vor allem updatesicher ist.

  • #2
    das _piwik verweist auf die matomo Scripte. Wir hatten nur nie die Variablen umbenannt.

    ps. funktioniert denn matomos Tracking-Pixel nicht mehr?
    Zuletzt geändert von Tim; 14.12.2020, 10:28.
    http://www.premium-contao-themes.com

    Kommentar

    Lädt...
    X