Tracking script zoals analytics
Met die meetpixel ben ik nog niet mee. Ik kan een <script> zetten en daarin de url opnemen met de parameters erin. Die kan ik dan terug ophalen in mijn response.php file. Dat is duidelijk. Maar die request tijd niet.
Bvb pagina 1:
Code (php)
1
<script type="text/javascript" src="http://www.my-url.com/response.php?time=xxx"></script>
En voor pagina 2 dus dezelfde code? En dan zou ik de tijd van pagina 2 moeten aftrekken van pagina 1. Hoe kan ik weten welke tijd van pag 1 komt en welke van pag 2? Dat gedeelte zie ik niet. Maar dan is het wel zonder een img tag.
Gewijzigd op 31/10/2016 15:36:04 door Brecht S
MeetPIXELS zijn plaatjes, geen scripts. En wat is er zo lastig aan het deel "je vraag in je PHP de tijd op, slaat deze op in de database en poept een plaatje uit"?
>> Is die setRequestHeader hier nodig? Of kan dat ook zonder? En voor de addEventListener: moet die niet beforeunload zijn ipv unload?
Als je navigator.sendBeacon wilt gebruiken moet je POSTen, en niet met GET werken, omdat sendBeacon zelf ook POST. Dus ja, die header is nodig, en je krijgt de gegevens via $_POST. De keuze tussen unload en beforeunload is aan jou. beforeunload kan echter wel false positives geven in het geval van het annuleren van navigatie, op nee klikken op basis van een andere beforeunload handler etc.
Gewijzigd op 31/10/2016 16:15:16 door Ben van Velzen
Dus voor de meetpixel is het dan:
Ik kan nu de datum en uur gaan opslaan door de $_GET['time'] aan te roepen in de response.php pagina.
Als ik dit nu doe op pagina 2 moet ik toch weten van waar die user is gekomen om de eerste tijd te hebben? Dus moet ik de url ook iedere keer meenemen. OF ben ik hier helemaal verkeerd aan het denken. Het is dus geen probleem om de tijd vanuit de php mee te sturen alleen zie ik niet hoe ik de begintijd (van pag 1) en de begintijd (van pag 2) kan opvragen tussen de pagina's en dan het verschil kan berekenen begintijd2 - begintijd 1.
>> Als ik dit nu doe op pagina 2 moet ik toch weten van waar die user is gekomen om de eerste tijd te hebben?
Nee, je moet alleen weten dat het die user was, de pagina waar hij vandaan kwam was de laatst bezochte (dus meest recente) voordat hij de huidige pagina bezocht.
Gewijzigd op 31/10/2016 17:14:17 door Ben van Velzen
Wat moet ik nu doen met die text/plain in de header? Moet die er staan of hoeft dit niet? Zie mijn vorige post hieromtrent.
Gewijzigd op 31/10/2016 17:56:58 door Brecht S
Wanneer je sendBeacon zou willen gebruiken, dan wordt de request volgens de specificatie via POST gedaan. Wanneer je hiervoor een shim gebruikt zoals ik in het voorbeeld doe heb je die header nodig, omdat je je data moet POSTen. Het voordeel van sendBeacon is dat deze wordt uitgevoerd buiten het renderen van pagina's etc om, dus er treedt geen vertraging op wanneer dit aanwezig is. Ik zou zelf alleen niets op unload doen, vooral omdat het niet echt nodig is. Je kunt heel veel zaken schatten op basis van navigatiesnelheid etc.
Als ik de sendBeacon gebruik moet ik wel werken met de unload. Het enige wat ik hier wil weten is de tijd dat een bezoeker de pagina verlaat.
Dus ik moet de userID meesturen in de response.php als parameter in de URL? Anders weet ik niet wie het is.
Correct, anders weet je het inderdaad niet.
Ok, ga dat allemaal eens uittesten en kom er later op terug mocht het nodig zijn. Bedankt voor je inzet om me op weg te helpen. Ondertussen toch al weer heel wat bijgeleerd!
Johan de wit op 30/10/2016 12:45:46:
Hallo Ben,
Dit lijkt mij interessant om meer te weten maar dan zonder javascript. Mag ik hier wat meer over weten
Ben van Velzen op 27/10/2016 23:13:58:
Wat meestal gewoon wordt gedaan is gebruik maken van een "meetpixel", dus een image van 1x1 die feitelijk een php script is. Deze kun je gewoon met javascript invoegen, en als je aan iets minder gegevens genoeg hebt kan het zelfs zonder javascript?
Overigens heb je strict genomen jquery nooit *nodig*. De cross browser zaken moet je dan alleen wel even zelf doen. In het geval van het invoegen van een plaatje hoef je niets bijzonders te doen. Zie document.createElement, of zonder fysieke image een Image object.
Overigens heb je strict genomen jquery nooit *nodig*. De cross browser zaken moet je dan alleen wel even zelf doen. In het geval van het invoegen van een plaatje hoef je niets bijzonders te doen. Zie document.createElement, of zonder fysieke image een Image object.
Hallo Ben,
Dit lijkt mij interessant om meer te weten maar dan zonder javascript. Mag ik hier wat meer over weten
Waar kan hier meer info over vinden?
Ligt eraan, welk deel van het verhaal over meetpixels is niet duidelijk?
Ben van Velzen op 09/11/2016 16:47:46:
Ligt eraan, welk deel van het verhaal over meetpixels is niet duidelijk?
Dit deel:
Wat meestal gewoon wordt gedaan is gebruik maken van een "meetpixel", dus een image van 1x1 die feitelijk een php script is. Deze kun je gewoon met javascript invoegen, en als je aan iets minder gegevens genoeg hebt kan het zelfs zonder javascript?
Gewijzigd op 09/11/2016 23:48:31 door Ben van Velzen