Tracking script zoals analytics

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Brecht S

Brecht S

31/10/2016 15:34:51
Quote Anchor link
Ik wist niet dat alerts genegeerd werden in een unload. Daarom krijg ik dus geen response. Ok, dan ga ik die gegevens ergens laten wegschrijven. Is die setRequestHeader hier nodig? Of kan dat ook zonder? En voor de addEventListener: moet die niet beforeunload zijn ipv unload?

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)
PHP script in nieuw venster Selecteer het PHP script
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
 
PHP hulp

PHP hulp

15/05/2024 12:45:06
 
Ben van Velzen

Ben van Velzen

31/10/2016 16:07:52
Quote Anchor link
>> 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.
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
 
Brecht S

Brecht S

31/10/2016 17:11:03
Quote Anchor link
Ok, dan werk ik met unload. Voor de setRequestHeader hebben we wel xhr.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"); Het ging mij hierover en niet over de POST want dat was al duidelijk. Waarom als text/plain?

Dus voor de meetpixel is het dan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<img src='http://www.my-url.com/response.php?time=<?php date('Y-m-d H:i:s'); ?>'>

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.
 
Ben van Velzen

Ben van Velzen

31/10/2016 17:13:35
Quote Anchor link
Waarom doe je dat nou zo dan? In response.php vraag je de tijd op, die hoef je helemaal niet door te geven. Je maakt het jezelf alleen maar moeilijk. Dus gewoon zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<img src="http://www.my-url.com/response.php">

>> 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
 
Brecht S

Brecht S

31/10/2016 17:55:51
Quote Anchor link
Ha ja inderdaad. Ik kan de tijd gerust opnemen in de response.php pagina. Alleen dat laatste nog. Ik moet wel degelijk weten wie die user was (met eventueel een userID mee te sturen) omdat er meerdere klanten, users op het platform zitten en ik moet dan wel weten welk laatst bezochte pagina die bepaalde user had. Dus zal ik die wel moeten meesturen als parameter met de URL?

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
 
Ben van Velzen

Ben van Velzen

31/10/2016 18:05:12
Quote Anchor link
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.
 
Brecht S

Brecht S

31/10/2016 18:19:01
Quote Anchor link
Ik wou beide methoden eens uitproberen, hetzij met de sendBeacon, hetzij met de img pixel. Dit om eens te vergelijken.
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.
 
Ben van Velzen

Ben van Velzen

31/10/2016 18:20:02
Quote Anchor link
Correct, anders weet je het inderdaad niet.
 
Brecht S

Brecht S

31/10/2016 18:43:33
Quote Anchor link
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

johan de wit

09/11/2016 16:15:08
Quote Anchor link
Johan de wit op 30/10/2016 12:45:46:
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.


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?
 
Ben van Velzen

Ben van Velzen

09/11/2016 16:47:46
Quote Anchor link
Ligt eraan, welk deel van het verhaal over meetpixels is niet duidelijk?
 
Johan de wit

johan de wit

09/11/2016 20:12:12
Quote Anchor link
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?
 
Ben van Velzen

Ben van Velzen

09/11/2016 23:47:14
Quote Anchor link
Ja, en wat is daar niet duidelijk aan? Je schrijft een php script die een plaatje uitpoept, en ondertussen worden er wat gegevens in de database gezet. Voor eem meetpixel dus de bezochte url, datum/tijd etc. Qua plaatje kun je dat zo complex maken als je wilt, bijvoorbeeld door met GD iets te genereren, maar je kunt ook gewoon een plaatje van schijf laden en rechstreeks naar de output schrijven, bijvoorbeeld met fpassthru.
Gewijzigd op 09/11/2016 23:48:31 door Ben van Velzen
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.