Sprachversionen separat tracken


(Thomas) #1

Hallo,

ich habe mehrere Sprachen in meinem Shop, mit dieser url Struktur:
webshop.shop/kategorie … -> deutsche kategorien und produkte
webshop.shop/fr/kategorie … -> französische kategorien und produkte
webshop.shop/en/kategorie … -> englische kategorien und produkte

Derzeit tracke ich alles mit einer Website in Matomo, das wird aber etwas unübersichtlich, (vor allem bei der Liste der Seiten).

Daher die Idee für jede Sprache eine eigene Website mit eigenem Tracking Code verwenden, damit das sauber getrennt ist.
Eine Gesamtübersicht mit ALLEN Daten wäre aber trotzdem schön.

Ist es möglich jeden Aufruf quasi doppelt zu tracken, einmal mit siteid=1 (gesamter shop) und zusätzlich mit siteid=x für die jeweilige Sprache?

könnte man dafür EINEN code verwenden, bei dem einfach beide SiteIDs gepushed werden? Also

<!-- Matomo -->
<script type="text/javascript">
  var _paq = _paq || [];
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="https://stats.webshop.shop/stats/";
    _paq.push(['setTrackerUrl', u+'piwik.php']);
    _paq.push(['setSiteId', '1']);   // ID 1 soll ALLE sprachen tracken
    _paq.push(['setSiteId', '2']);   // ID 2 soll nur die Sprache Französisch tracken
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Matomo Code -->

oder müsste dazu der komplette code doppelt eingebaut werden?

danke,

lg Thomas


(Fabian Dellwing) #2

Gut gedacht, aber es funktioniert etwas anders:

<!-- Matomo -->
<script type="text/javascript">
  var _paq = _paq || [];
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="https://stats.webshop.shop/stats/";
    _paq.push(['addTracker', u + '/piwik.php', var idSite = 2]); // ID 2 soll nur die Sprache Französisch tracken
    _paq.push(['setTrackerUrl', u+'piwik.php']);
    _paq.push(['setSiteId', '1']);   // ID 1 soll ALLE sprachen tracken
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Matomo Code -->

Siehe: https://matomo.org/blog/2017/02/complete-guide-tracking-websites-web-apps-multiple-piwiks-easily-efficiently


(Thomas) #3

Hallo @fdellwing

Danke, ich habe es probiert, auch die Doku gelesen, aber der Code trackt einfach nicht - weder bei ID 1 noch bei ID 2. Das ist der vollständige Code, ich habe nur den Domainnamen geändert:

	<!-- Matomo  -->
		<script type="text/javascript">
		  var _paq = _paq || [];
		  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
		  _paq.push(["disableCookies"]);
		  _paq.push(['trackPageView']);
		  _paq.push(['enableLinkTracking']);
		  (function() {
		    var u="https://stats.WEBSHOP.shop/stats/";
            _paq.push(['addTracker', 'https://stats.WEBSHOP.shop/stats/piwik.php', var idSite = 2]); /* ID 2 FR */
		    _paq.push(['setTrackerUrl', u + 'piwik.php']);
		    _paq.push(['setSiteId', '1']); /* ID 1 ALL */
		    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
		    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
		  })();
		</script>
		<noscript><p><img src="https://stats.WEBSHOP.shop/stats/piwik.php?idsite=1&amp;rec=1" style="border:0;" alt="" /><img src="https://stats.WEBSHOP.shop/stats/piwik.php?idsite=2&amp;rec=1" style="border:0;" alt="" /></p></noscript>
		<!-- End Matomo Code -->

beim “addTracker” habe ich verschiedene Varianten probiert, so wie von dir geschrieben (u + …) und mit der absoluten url wie im obigen Code - keine Variante hat funktioniert. UND ID 1 trackt eben auch nicht mehr.

Dieser Code (trackt nur ID 1) funktioniert problemlos:

		<!-- Matomo -->
		<script type="text/javascript">
		  var _paq = _paq || [];
		  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
		  _paq.push(["disableCookies"]);
		  _paq.push(['trackPageView']);
		  _paq.push(['enableLinkTracking']);
		  (function() {
		    var u="https://stats.WEBSHOP.shop/stats/";
		    _paq.push(['setTrackerUrl', u+'piwik.php']);
		    _paq.push(['setSiteId', '1']);
		    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
		    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
		  })();
		</script>
		<noscript><p><img src="https://stats.WEBSHOP.shop/stats/piwik.php?idsite=1&amp;rec=1" style="border:0;" alt="" /></p></noscript>
		<!-- End Matomo Code -->

Was kann da Schuld sein? Stimmt die Reihenfolge nicht? Muss zB “trackPageView” weiter unten eingefügt werden?
Oder funktioniert es wegen “disableCookies” nicht?

Diese Funktion ist auch aus:
image

Was übrigens funktioniert: Das Noscript Tracking, da wird problemlos in beideSeiten getrackt:

		<!-- Matomo  -->
<p><img src="https://stats.WEBSHOP.shop/stats/piwik.php?idsite=1&amp;rec=1" style="border:0;" alt="" /><img src="https://stats.WEBSHOP.shop/stats/piwik.php?idsite=2&amp;rec=1" style="border:0;" alt="" /></p>
		<!-- End Matomo Code -->

danke für deine Hilfe,

lg Thomas


(Fabian Dellwing) #4

Hast du denn irgendwelche Fehler in der Browserkonsole? Beziehungsweise gehen sowohl die Anfragen an die piwik.js und piwik.php erfolgreich durch?

P.S. Wenn du jetzt keinen Plan hast wovon ich rede, schickst du mir am besten mal einen Link zu deinem Shop per PN.


(Fabian Dellwing) #5

@Lukas Der Blogeintrag ist an der Stelle falsch. Das var darf da natürlich nicht rein und wirft einen Syntaxfehler. Kann man das im Nachhinein noch korrigieren?


(Lukas Winkler) #6

@fdellwing Danke für die Info, ich bin mir nicht ganz sicher, was da schiefgelaufen ist, aber ich habe es gefixt.

Der Blogeintrag kommt aber trotzdem auf die Todo-Liste, denn eigentlich wird dasselbe hier ausführlicher erklärt:
https://developer.matomo.org/guides/tracking-javascript-guide#collect-your-analytics-data-into-two-or-more-piwik-servers


(Fabian Dellwing) #7

Ja, den Guide habe ich dann heute auch gefunden. Nachdem ich den Fehler mit dem var gesehen hab. :smiley: