ANDERS BLAUENFELDT | 1 TRAFIK- OG ADFÆRDSMÅLING PÅ INTERNET Anders Blauenfeldt Juni 2002
ANDERS BLAUENFELDT | 2 INDLEDNING (FORMÅL) Svar på et par spørgsmål –Hvorfor overhovedet måle hvad der foregår på ens website? –Hvem har gavn af disse informationer ? –Hvilke typiske målemetoder anvendes – og med hvilke fordele/begrænsninger ? Overblik på området med udgangspunkt i en rundtur blandt forskellige slides fra det netop afsluttede kursus om webadfærd og trafikmåling her på IT- højskolen –Se evt kursets website på Tekniske eksempler –ikke en tilbundsgående programmeringsmæssig gennemgang
ANDERS BLAUENFELDT | 3 AGENDA OG AFGRÆNSNINGER Definitioner - eMetrics Webserverlogfilen og logfilsanalyse Gallup Red Measure og FDIM-modellen Udvikling af egne analyse moduler Registrering af brugere, personalisering Brug af online spørgeskema Følgende emner berøres ikke –Panel-undersøgelse –User-tests (a la NN Group)
ANDERS BLAUENFELDT | 4 LIDT OM MIG Arbejder til dagligt hos TDC (Koncern strategi) Involveret i det seneste års udvikling omkring mikrobetalingssystemer Underviser på IT-højskolen i faget ”operationel analyse af webadfærd” Baggrund som dot-com internet entrepreneur (dipcard.com), systemarkitekt, analytiker (znail.dk/survey) med mere Uddannet fra Danmarks Tekniske Universitet og University of Westminster
ANDERS BLAUENFELDT | 5 INTRODUKTION TIL EMNET The web anno Mere kommercielt end nogensinde med voksende fokus på brugerbetaling. Måling af trafik og adfærd –You can not manage what you do not measure –You can not measure what you do not define Hvilke målepunkter stilles op? Hvem skal resultaterne kommunikeres til og hvordan. En teknologisk udfordring der spænder fra det relativt simple til det usædvanligt komplekse. Stadig relativt få websites og virksomheder er nået langt på dette punkt.
ANDERS BLAUENFELDT | 6 TEASER: THE CLICK STREAM It’s almost like the MATRIX Live-kig på en webserverlog
ANDERS BLAUENFELDT | 7 DEFINITIONER - eMETRICS
ANDERS BLAUENFELDT | 8 GENERELLE TRAFIK TERMER USERS VISITS PAGE VIEWS HITS A customer (person) uses your Web site. He or she becomes a unique user. Each time this user explores your site, you receive a visit from that user. Thus, a user may have many unique visits to your site over time. Each visit by a user is composed of a series of pages that he or she reviews. Thus each visit is composed of a time-ordered series of page views, otherwise known as a clickstream or click path. Note that - more frequently than many sites would like to admit - a visit can involve only a single page view. Each page on your site contains many constituent objects such as body text, images, and video files. Each of these results in a hit to your Web site, so each page view comprises many hits.
ANDERS BLAUENFELDT | 9 GENERELLE TRAFIK TERMER, FDIM USERS VISITS PAGE VIEWS HITS Besøg (User sessions). Et Besøg er defineret som en eller flere sidevisninger. Hvis brugeren er inaktiv i mere end 30 minutter afsluttes besøget. Når brugeren igen bliver aktiv på websitet, tælles dette som et nyt besøg. En Unik Besøgende kan have flere Besøg på samme website. Sidevisninger (Page Impressions): En sidevisning tælles når alle en sides enkelte dele er blevet vist. Dette tal blev også opgjort tidligere, men er nu ensartet målt uanset forskelle i tekniske sidekonstruktioner og tallet opgøres mere nøjagtigt. Besøgende (Unique Visitors): Besøgende er antallet af unikke enheder som genererer de besøg som nævnes ovenfor. Een unik besøgende er identisk med een unik brugerprofil, dvs. en unik sammensætning af hardware, software og systemkonfiguration. Én unik besøgende er altså ikke nødvendigvis lig én person.
ANDERS BLAUENFELDT | 10 THE CUSTOMER LIFE CYCLE REACH ACQUISITION CONVERSION RETENTION ABANDONMENT ATTRITION CHURN REACTIVATION LOYALTY Taken from E-Metrics, NetGenesis Corp.
ANDERS BLAUENFELDT | 11 EXAMPLE: CONVERSION Traditionally: a sale –The prospect has been converted into a customer Online: a myriad of meanings –Depending on different goals for different websites –One site: after signing up, Another site: after making a purchase –Tower records: search with related items doubled the conv. Rate Conversion rate …
ANDERS BLAUENFELDT | 12 EXAMPLE: CONVERSION RATE
ANDERS BLAUENFELDT | 13
ANDERS BLAUENFELDT | 14 ET KIG PÅ WEBSERVER-LOGFILEN
ANDERS BLAUENFELDT | 15 WEB SERVER STATISTICS Netcraft.com, Feb. 2002
ANDERS BLAUENFELDT | 16 WEB SERVER LOG FORMATS Boundaries for any type of log analysis Common Log Format – Extended CLF. Data ElementCLFECLF Host Ident Authuser Time Request Status Bytes Referrer User-agent
ANDERS BLAUENFELDT | 17 AN EXAMPLE, IT-C.DK (Oct 2001) [22/Oct/2001:02:22: ] "GET / HTTP/1.1" "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)" [22/Oct/2001:02:22: ] "GET /Internet HTTP/1.1" "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)" [22/Oct/2001:02:27: ] "GET /research/bed/ HTTP/1.1" " "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)" [22/Oct/2001:02:27: ] "GET /research/bed/icons/Book.gif HTTP/1.1" " "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)" [22/Oct/2001:02:27: ] "GET /research/bed/icons/Tools.gif HTTP/1.1" " "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)" [22/Oct/2001:02:27: ] "GET /people/hra/hoved_logo4.gif HTTP/1.1" " "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)" [22/Oct/2001:02:43: ] "HEAD /people/kfl/fltk linux-intel.rpm HTTP/1.0" "-" "Slurp.so/ [22/Oct/2001:03:03: ] "HEAD /courses/W2/F2001/ HTTP/1.0" "-" "Mozilla/2.0 (compatible; Ask Jeeves)" [22/Oct/2001:03:03: ] "GET /courses/W2/F2001/ HTTP/1.0" "-" "Mozilla/2.0 (compatible; Ask Jeeves)" [22/Oct/2001:03:04: ] "HEAD /people/birkedal/papers/index.html HTTP/1.0" "-" "-" [22/Oct/2001:03:11: ] "HEAD /people/birkedal/realizability/index.html HTTP/1.0" "-" "Mozilla/3.0 (compatible)" [22/Oct/2001:03:22: ] "GET / HTTP/1.1" "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)" [22/Oct/2001:03:22: ] "GET /Internet HTTP/1.1" "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)" [22/Oct/2001:03:31: ] "GET /people/jm/ HTTP/1.0" "-" "ArchitextSpider" [22/Oct/2001:03:39: ] "GET /research/ddd/ HTTP/1.0" "-" "ArchitextSpider" [22/Oct/2001:03:42: ] "GET /connection HTTP/1.1" " "Mozilla/4.0 (compatible; MSIE 5.01; Windows 95; AT&T CSM6.0)" [22/Oct/2001:03:42: ] "GET / HTTP/1.1" "-" "Mozilla/4.0 (compatible; MSIE 5.01; Windows 95; AT&T CSM6.0)" [22/Oct/2001:03:42: ] "GET /Internet HTTP/1.1" "-" "Mozilla/4.0 (compatible; MSIE 5.01; Windows 95; AT&T CSM6.0)" [22/Oct/2001:03:43: ] "GET /Internet HTTP/1.1" "-" "Mozilla/4.0 (compatible; MSIE 5.01; Windows 95; AT&T CSM6.0)" [22/Oct/2001:03:43: ] "GET /Internet HTTP/1.1" "-" "Mozilla/4.0 (compatible; MSIE 5.01; Windows 95; AT&T CSM6.0)" [22/Oct/2001:03:45: ] "GET / HTTP/1.1" "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)" [22/Oct/2001:03:45: ] "GET /Internet HTTP/1.1" "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)" [22/Oct/2001:03:46: ] "POST /main/cgi-bin/people.cgi HTTP/1.1" " "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)" [22/Oct/2001:03:47: ] "GET /courses HTTP/1.1" "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)" [22/Oct/2001:03:47: ] "GET /courses/GP/F2000/index.html HTTP/1.0" "-" "Openfind data gatherer, [22/Oct/2001:04:00: ] "GET /sysadm/software/lprng/printcap HTTP/1.0" "-" "Wget/1.6" [22/Oct/2001:04:01: ] "GET /sysadm/software/lprng/printcap HTTP/1.0" "-" "Wget/1.6" [22/Oct/2001:04:02: ] "GET /sysadm/software/lprng/printcap HTTP/1.0" "-" "Wget/1.6" [22/Oct/2001:04:02: ] "GET /sysadm/software/lprng/printcap HTTP/1.0" "-" "Wget/1.6" [22/Oct/2001:04:02: ] "GET /sysadm/software/lprng/printcap HTTP/1.0" "-" "Wget/1.6" [22/Oct/2001:04:08: ] "GET /courses/GP/F2000/Eksempler/JavaSoftwareSolutions/chap07/Doodle.html HTTP/1.0" "-" "Openfind data gatherer, [22/Oct/2001:04:12: ] "GET /people/tofte HTTP/1.1" " "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)" [22/Oct/2001:04:12: ] "GET /people/tofte/leftorange.htm HTTP/1.1" " "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)" [22/Oct/2001:04:12: ] "GET /people/tofte/pics/spacer22.GIF HTTP/1.1" " "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)" [22/Oct/2001:04:12: ] "GET /people/tofte/Tofte2.jpg HTTP/1.1" " "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)" [22/Oct/2001:04:15: ] "GET /courses/GP/F2000/Eksempler/JavaSoftwareSolutions/chap11/MirroredPictures.html HTTP/1.0" "-" "Openfind data gatherer, [22/Oct/2001:04:23: ] "GET /courses/GP/F2000/Eksempler/Tekstfiler/places.txt HTTP/1.0" "-" "Openfind data gatherer, [22/Oct/2001:04:24: ] "GET /people/hra/notes-index.html HTTP/1.0" "-" "ArchitextSpider" [22/Oct/2001:04:29: ] "GET /courses/GP/F2000/hold.html HTTP/1.0" "-" "Openfind data gatherer, [22/Oct/2001:04:33: ] "GET /courses/W2/ssh.html HTTP/1.1" "-" "-" [22/Oct/2001:04:36: ] "GET /~haas/GC/c-tut.html HTTP/1.0" " "Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC)" [22/Oct/2001:04:36: ] "GET /~haas/GC/c-tut.php HTTP/1.0" " "Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC)" [22/Oct/2001:04:43: ] "GET /people/slauesen/ HTTP/1.0" "-" "Mozilla/2.0 (compatible; Ask Jeeves)" [22/Oct/2001:04:47: ] "GET /main/projektboers.html HTTP/1.0" "-" "Mozilla/2.0 (compatible; Ask Jeeves)" [22/Oct/2001:04:48: ] "POST /main/cgi-bin/people.cgi HTTP/1.0" " "Mozilla/4.0 (compatible; MSIE 5.01; AOL 6.0; Windows 98)"
ANDERS BLAUENFELDT | 18 LOGFILS-ANALYSE Datamængder: 500 brugere á 10 sidevisninger á 15 elementer á 200 tegn … regneeksempel Server-baseret / Klient-baseret Utroligt mange forskellige stykker software muligheder – eksempler
ANDERS BLAUENFELDT | 19 OPSUMMERING, LOGFILS-ANALYSE Fordele –Logning er default ved alle gængse webservere, ingen opsætning –Kan give god daglig opdatering –Relativt billigt (gratis) Ulemper –Ingen Unique Visitors, besøgsfrekvens –Stort tidsforbrug ved manuel analyse –Optager serverkapacitet ved automatisk analyse –Ingen validitet i data –Måler forespørgsler, ikke viste sider –Egen måling – ikke troværdigt –Ingen demografi (sammenlignet med eks. spørgeskema-målinger)
ANDERS BLAUENFELDT | 20 GALLUP REDMEASURE FDIM-MODELLEN
ANDERS BLAUENFELDT | 21 FDIM (FORENINGEN AF DANSKE INTERNETMEDIER) FAKDIS stiftet den 18. marts 1997 –skiftede navn til FDIM den 1. november 2000 § 2. Formål (uddrag af vedtægterne) –Brancherelaterede forhold at varetage medlemmernes fælles faglige og økonomiske interesse i forbindelse med udgivelser af kommercielle internetsites, herunder forholdet til offentlige myndigheder, lovgiver, relevante organisationer og andre medier. –Brancheprincipper at medlemmerne overordnet drøfter forskellige brancheprincipper, herunder målestandarder, standarder for bannerannoncer, betalingsprincipper samt betaling på internet. –Etik at skabe gennemsigtighed, ensartethed og god forretningsskik på den danske del af internettet.
ANDERS BLAUENFELDT | 22 IMPLEMENTERING AF RED MEASURE Java Applet and a CGI script The basic CGI version: The combined version <img src=" width="1" height="1”> =252) refR=refR.substring(0,252)+"...";//--> \';if(navigator.userAgent.indexOf(\'Mac\')!=- 1){document.write(imgN);}else{document.write(\' \'+\' \'+\' \'+imgN+\' \');}}document.write(" ");//-- > EKSEMPEL (OPASIA)
ANDERS BLAUENFELDT | 23 RED MEASURE - DEMO
ANDERS BLAUENFELDT | 24 FDIM LISTEN
ANDERS BLAUENFELDT | 25 OPSUMMERING, RED MEASURE Fordele –Totaltælling – ingen statistisk usikkerhed –Ingen cacheproblemer (alle fremviste sider måles) –Tredjepartsvalideret –Hyppig opdatering (4-8 gange om dagen) –Cookie baseret måling af unikke brugere giver mulighed for måling af dækning (reach) og frekvens –Veldefinerede begreber – FDIM modellen Ulemper –Indledende tagning / planlægning –Ingen demografi (sammenlignet med eks. spørgeskema-målinger)
ANDERS BLAUENFELDT | 26 UDVIKLING AF EGNE SYSTEMER
ANDERS BLAUENFELDT | 27 EKSEMPEL <?php $tidsperiode = 60*60*24*365; //den persistente cookies levetid sættes til et år // Hvis der ej eksisterer en pers. cookie findes sættes en ny if(!$p_cookie) { $p_query = mysql_query("select max(p_cookie) from T_tracking"); // Jeg finder den største værdi i p_cookie $p_cookie = mysql_result($p_query, 0) + 1; // Jeg adderer 1 for at få den næste p_cookie værdi setcookie("p_cookie", $p_cookie, time()+$tidsperiode); } // Hvis der ej eksisterer en sessions cookie sættes en ny if(!$s_cookie) { $s_query = mysql_query("select max(s_cookie) from T_tracking"); // Jeg finder den største værdi i s_cookie $s_cookie = mysql_result($s_query, 0) + 1; // Jeg finder den største værdi i s_cookie setcookie("s_cookie", $s_cookie); } // Herefter smækker tingene ned i databasen $query_string = "insert into T_tracking (ip_address, user_agent, p_cookie, s_cookie, tid) values ('$REMOTE_ADDR', '$HTTP_USER_AGENT', $p_cookie, $s_cookie, NOW())"; mysql_query("$query_string"); ?> Tracking-kode placeres i en include-fil og inkluderes på de sider man ønsker at måle på.
ANDERS BLAUENFELDT | 28 GENERELT OM EGNE SYSTEMER Template-baseret website er en nødvendighed Overvej om ekstern logningsmetode ( ) er en mulighed –Dedikeret måle-server (godt overblik over teknisk ressourceforbrug) –Sløver ikke drifts-systemet –Uafhængig af database-skift, opgraderinger etc. Åbner en verden af muligheder –Specifik måling af registrerede brugere –Specifikke path-målinger designet nøjagtigt til dit website Data Warehouse begreber og teknologier benyttes ofte
ANDERS BLAUENFELDT | 29 PERSONALISEREDE WEBSITES
ANDERS BLAUENFELDT | 30 KENDSKAB TIL BRUGEREN Often portraied as THE FUTURE Anonymous users vs known users Registered users vs tracked (measured) profiles The 4 levels of user knowledge –1: A particular computer is engaging in a session. Cannot be used as a reliable guide to identify future sessions. Session identifier (session cookie / IP). –2: The same web browser on a particular computer has returned for a repeat session (persistent cookie / IP). –3: A persistent identifier that tells us a particular human being has returned to our website. –4: A permanent and specific personal identifier – a reliable guide to identify known customers. (Kimball, p 72)
ANDERS BLAUENFELDT | 31 HVORFOR BRUGER-REGISTRERING Gøre det muligt at tilbyde personlige services Dot-com: –Direkte valueringsredskab når nu indtægt ikke var det … –Post-dot-com: meget anderledes fokus på værdi ? Skabe loyalitet og inerti Forbedre annonce-indtjening Forberede betalingsvillighed Måling og forståelse af brugeradfærd –Sammenkæde adfærdsmæssige målinger med brugerdata
ANDERS BLAUENFELDT | 32 HVILKE DATA REGISTRERES ? Brugernavn/kodeord –Brugernavn (UID): adresse, selvvalgt brugernavn, forudbestemt brugernavn Supplerende data –Navn, , alder, postnummer, adresse, branche, indkomst, interesseområder … etc Tvang/Frivilligt –Typisk dilemma: Mere data ved tvang vs. Større andel af AndersAnd-data ved tvang
ANDERS BLAUENFELDT | 33 HVORLEDES IMPLEMENTERES DET ? Mange muligheder. Eksempel: –T_users: uid, create_time, username, password (MD5) –T_extended_info: user_key, firstname, lastname, zip, country etc Privacy statement Overvej om data indtastes ved oprettelse eller løbende ? Cookie-levetid ved login –Brugere kan krydse af og vælge at maskinen skal huske brugernavn og password (persistent cookie i stedet for session) –Profil-information kan teoretisk set godt gemmes direkte i cookien, men typisk vil det nok være smartere blot at gemme bruger-id (eller en session-id jvf php sessions).
ANDERS BLAUENFELDT | 34 ET PAR EKSEMPLER
ANDERS BLAUENFELDT | 35 DATATILSYNET Reglerne er skønsmæssige Formål skal klart fremgå 3 niveauer (pjece, s 13) –1: Følsomme oplysninger, private forhold –2: Andre oplysninger om rent private forhold –3: Almindelige oplysninger (navn, adresse) etc. Uden udtrykkeligt samtykke kan kun data i niveau 3 registreres Markedsføringslovens paragraf 6a omkring elektronisk markedsføring værd at notere sig. Kreditkortnumre kan gemmes krypteret jvf PBS merchant guide. Usikkerhed på området ! Se mere på datatilsynet.dk – pjece omkring persondataloven er tilgængelig i pdf-version online.
ANDERS BLAUENFELDT | 36 SPØRGESKEMA-UNDERSØGELSER
ANDERS BLAUENFELDT | 37 SPØRGESKEMA VIA INTERNET Overordnet set to muligheder –Generelle (landsdækkende) undersøgelser og analyser –Website-specifikke undersøgelser Overordnede begreber –Bias (skævhed i målinger) –Selvudvælgelse Overordnede implementeringsovervejelser –Popup / Normalt vindue ? –Kompatibilitet (browser og OS) –Tiltrækning af respondenter
ANDERS BLAUENFELDT | 38 RESPONDENT FORLØBET REKLAMERING Den potentielle respondent skal gøres opmærksom på undersøgelsen. MOTIVERING Den potentielle respondent skal gives lyst til at deltage i undersøgelsen. INTERAKTION Respondenten skal gennemføre undersøgelsen.
ANDERS BLAUENFELDT | 39 ADD. REKLAMERING Gruppen af internetbrugere der klikker på bannerreklamer er ikke repræsentative for hele mængden af internetbrugere (UAFHÆNGIGT AF RESPONDENT-ANTALLET) Ved at lade alle deltage i en undersøgelse risikerer vi uforudsete ikke umiddelbart målbare fluktuationer (AFHÆNGER AF RESPONDENT-ANTALLET)
ANDERS BLAUENFELDT | 40 ADD. MOTIVERING Mange forskellige muligheder – bør overvejes for hver ny undersøgelse. Klik og vind –Konkurrencer –Pengepræmier givetvis at foretrække –Mulighed for bias mod det unge segment Alternativer –Direkte aflønning, sandsynligvis ej at foretrække
ANDERS BLAUENFELDT | 41 ADD. INTERAKTION Større sandsynlighed for at unge giver op på halvvejen end ældre Større sandsynlighed for at uerfarne brugere giver op på halvvejen end de erfarne Tekniske overvejelser og kompatibilitet Erfaringer fra undersøgelse af danskeres internetvaner 1999, (znail.dk/survey).
ANDERS BLAUENFELDT | 42 EKSEMPEL: FOLKETINGET.DK Målinger kan ikke umiddelbart holdes op imod landsgennemsnit. Meget vigtigt at holde op imod universet af internetbrugere i stedet.
ANDERS BLAUENFELDT | 43 OPSUMMERING Definitioner - eMetrics Webserverlogfilen og logfilsanalyse Gallup Red Measure og FDIM-modellen Udvikling af egne analyse moduler Registrering af brugere, personalisering Brug af online spørgeskema
ANDERS BLAUENFELDT | 44 SPØRGSMÅL ? Anders Blauenfeldt Juni 2002