Autor Zpráva
lionel messi
Profil
Zdravím,

vytvoril som si PHP skript na meranie času, ktorý užívateľ strávil na stránke. Tento skript by som rád spustil, keď užívateľ stránku opustí. Čo si Kefalín predstavuje pod pojmom [delabsurdní[/del] opustí:

• Užívateľ zatvorí otvorenú stránku (kartu) alebo celý prehliadač.
• Užívateľ obnoví stránku (ľubovoľným spôsobom).
• Užívateľ zadá do adresného riadku adresu a stlačením enteru prejde na inú stránku (nezáleží na tom, či v rámci jedného webu, alebo úplne inam).
• Užívateľ sa kliknutím na odkaz na danej stránke (v totožnej karte) dostane na inú stránku (znovu nezáleží na tom, či v rámci jedného webu).

Momentálne používam udalosť window.onbeforeunload, lenže tá mi rieši iba prvé dva body a posledné dva nie, čo mi nevyhovuje. Budem vďačný za akékoľvek nasmerovanie.
Keeehi
Profil
lionel messi:
Tak předně musíš přijmout fakt, že spolehlivě to nejde. Nemyslím si, že způsob opuštění stránky by měl mít vliv na to, zda se událost onbeforeunload spustí nebo ne. Problém je, že před odejitím ze stránky může být tak málo času, že se už ten request jen prostě nestihne odeslat.
Na všechny odkazy se dá samozřejmě navěsit onclick event, ale to neřeší nespolehlivost onbeforeunloadu.

Je tu možnost chování obrátit. Místo toho, aby se něco stalo když uživatel odejde, tak se to naopak stává, když na stránce je. Když se to přestane stávat, může server usoudit, že uživatel již odešel. Tedy si server v pravidelných intervalech pingovat. Jen je tu problém, že je to strašně neefektivní. Lepší variantou je použít web sockety a na serveru detekovat odpojení klienta.

Nicméně žádná z variant nezvládne situaci, kdy uživatel je na stránce deset minut. Pak mu vypadne připojení k internetu. Ovšem on má stránku načtenou, takže ho to netrápí a prostě dalších pět minut si čte. Pak zavře prohlížeč. Reálně strávil na stránce 15 minut. JS eventy sice mohly zachytit událost zavření prohlížeče, ovšem nemají způsob jak tuto informaci na server předat. No a ten ping / web sockety zase jeho dobu podstřelí a řeknou, že ji měl otevřenou jen 10 minut.

Pokud to slouží pro statistiku, dá se uvažovat o modelu kde se ta informace o opuštění stránky ukládá do lokálního uložiště. Což je rychlejší než požadavek na server, takže je větší pravděpodobnost, že se to stihne. A z toho uložiště si to může script vyzvednout a odeslat na server při příští návštěvě. Přijde ti to sice o trochu později, ale statistika se z toho zpětně dopočítat dá.

Neexistuje žádné řešení, které by bylo 100% účinné a neexistuje ani kombinace více způsobů, která by byla 100% účinná. Ale když se zkombinuje více postupů, úspěšnost detekce bude vyšší, než u jednoho. Ovšem zase je to vykoupeno vysokou komplexitou řešení. Takže důležité je si odpovědět na otázku, zda to vůbec za to stojí.
lionel messi
Profil
Keeehi:

Trochu oneskorene ďakujem za poučnú odpoveď.

Pokud to slouží pro statistiku, dá se uvažovat o modelu kde se ta informace o opuštění stránky ukládá do lokálního uložiště. […] A z toho uložiště si to může script vyzvednout a odeslat na server při příští návštěvě.

Pekný nápad, ale obávam sa, že pre predmetný web zatiaľ ťažko použiteľný. Stránky bežia už vyše mesiac a hoci sa na ne pravidelne pridáva veľké množstvo unikátneho obsahu, návratnosť je zatiaľ dosť mizivá. Dokonca až tak, že väčšinu návštev tvoria jednorazovky.

Ale když se zkombinuje více postupů, úspěšnost detekce bude vyšší, než u jednoho. Ovšem zase je to vykoupeno vysokou komplexitou řešení. Takže důležité je si odpovědět na otázku, zda to vůbec za to stojí.

Súhlasím. Zatiaľ sa predbežne prikláňam iba k pridaniu onclickov.
Tomášeek
Profil
lionel messi:
Ja se jen chci zeptat, na co potřebuješ tu detekci? Co s těmi lidmi budeš dělat dále? Předpokládám nejake reklamní cílení, nebo tak něco?

Jestli by nebylo lepší se na detekci vykaslat a zaměřit se na to, proč lidé odcházejí a snažit se, aby zůstali déle a vrátili se. To je to, co potřebuješ řešit, ne sekundární problémy.

Víš, proč se nevrací? Jestli je obsah nezajímavý (pro danou cílovku), jestli je web špatně použitelný, jestli není duplicitně (nemyslím doslova, ale typem obsahu) s jinými hraci na trhu, atd.?
lionel messi
Profil
Tomášeek:
lionel messi:
Ja se jen chci zeptat, na co potřebuješ tu detekci?

Ide o stránku s niekoľkými publikovanými článkami, ktoré nie sú práve najkratšie (1 - 3 normostrany), a pomocou času stráveného na stránke by som rád odhadol, či ich čítajú až do konca, alebo odchádzajú podstatne skôr. Prípadne z toho niečo vyvodiť – o aké témy je najväčší záujem a podobne.

Jestli by nebylo lepší se na detekci vykaslat a zaměřit se na to, proč lidé odcházejí a snažit se, aby zůstali déle a vrátili se.

Súhlasím, detekcia, ktorú spomínam vyššie by podľa mňa mohla účinne dotvárať obraz.
Tomášeek
Profil
lionel messi:
V tom případě umístil do článku nějaké neviditelné elementy, po jejichž dosažení (objevení ve viewportu) by se uložil do DB záznam s časem, kdy bylo daného breakpointu dosaženo (resp. dá se v časovém intervalu ukládat i offsetTop (procentuální poměr offsetu vůči výšce okna, délce článku - samotná absolutní hodnota 150px je nicneříkající) nebo něco takového, bude to plnit stejnou funkci. Budeš tím mít časovou osu scrollu po stránce a dosažení konce stránky.

Dlouhé otevření stránky neznamená nutně čtení - např. otevření do nového tabu, který nepřečtený za hodinu zavřu.
Hodinová neaktivita a pak rychlý scroll na konec (tzn. zaznamenání všech breakpointů v řádu sekund) je také nepřečtený článek.

Súhlasím, detekcia, ktorú spomínam vyššie by podľa mňa mohla účinne dotvárať obraz.
To, jestli lidé čtou nebo nečtou neřeší to, že se nevrací. Zjistíš, že čtou a co? Zjistíš, že nečtou a co?

To, co teď řešíš, tzn. míru reálného přečtení článku, je dobře vyřešit, ale primárně bych se zaměřil jinam a tohle si nechal na později. Aktuální problém je, že se lidé nevracejí.

Jak se k tobě primárně dostávají, co je hlavní akviziční kanál(y)? Kdo je cílová skupina? Můžeš daný web odkázat (jestli to bude téma, které mě alespoň okrajově zajímá, jestli mi bude dávat smysl se na web vrátit)?
lionel messi
Profil
Tomášeek:

Za nápad s offsetTop ďakujem. Samozrejme, ako sám píšeš, tiež je to len nepriame meranie toho, čo by som v ideálnom svete rád meral (pretože priame v tomto prípade ani neexistuje).

To, jestli lidé čtou nebo nečtou neřeší to, že se nevrací. Zjistíš, že čtou a co?

Na základe doby, akej návštevníci venujú článku pozornosť, môžem dedukovať, o aké témy je alebo nie je medzi návštevníkmi záujem a podobne. Rovnako tak vstupuje do hry aj moja zvedavosť. Ak niekde na internete vidím štatistiku čítanosti, vždy mi napadne čosi ako: „A koľko z nich ten článok dočítalo aj do konca?

Ešte raz všetkým ďakujem za množstvo podnetov, niektoré z nich dokonca presiahli pôvodné zameranie vlákna. Rád by som však udržal diskusiu v pôvodne zmýšľaných vodách (možnosti jednotlivých techník merania, ich prínosy a slabiny) a nepúšťal sa (aspoň zatiaľ) až príliš do oblasti SEO, hoci uznávam, že v nej mám rezervy.
Tomášeek
Profil
lionel messi:
Na základe doby, akej návštevníci venujú článku pozornosť, môžem dedukovať, o aké témy je alebo nie je medzi návštevníkmi záujem
Ano, tak by to fungovalo, pokud se lidi vracejí. Pokud si článek přečtu a nevrátím se (což je tvůj reálný stav, lidi se nevrací), jsou výsledky irelevantní. Nemáš problém se čteností článku, ale s vracením se. Tomu nijak měřením na současných článcích nepomůžeš, musíš hledat příčinu (tu zatím neznáš).

Rád by som však udržal diskusiu v pôvodne zmýšľaných vodách (možnosti jednotlivých techník merania, ich prínosy a slabiny) a nepúšťal sa (aspoň zatiaľ) až príliš do oblasti SEO, hoci uznávam, že v nej mám rezervy.
Hm, já bych být tebou naopak na měření (zatím) rezignoval a věnoval se tomu, proč se lidi nevracejí. Zjištění, že článek čtou 5 minut ti je k ničemu, když se nevrátí podruhé. Dost mě napadá špatná cílovka, promo ve špatných kruzích. Nabereš lidi, kteří si článek přečtou, protože si myslí, že je bude zajímat (a reálně si ho fakt přečtou, čili za tebe OK), ale nemají důvod se vracet. Jen ty se budeš chlácholit, že průměrná doba čtení je 5 minut.

Nevím,j estli si úplně rozumíme, ale za mě řešíš problém, který není a naopak neřešíš problém, který je. Nebo to nechápu já :-)

Ale každopádně se omlouvám, že jsem se vrátil k tomu, od čeho jsi se chtěl vzdálit. Už se k tomu vícekrát vracet nebudu :-)
ttttttt
Profil *
Přijde mi zajímavá informace, jestli lidi čtou jen nadpisy nebo i články. Pokud si lidi přečtou články a nevrací se, pak zřejmě nejsou dost zajímavé. Pokud jen kouknou na nadpis, můžou být články dobré, ale nadpisy takové, že návštěvníky nenalákají ke čtení.
Keeehi
Profil
lionel messi:
A když už jsme u toho, nasaď si tam prostě a jednoduše google analytics. Máš to zdarma, rychle, bezbolestně a hlavně lépe a promakaněji, než co by zvládl vytvořit jakýkoli jednotlivec. To, jestli se člověk proscrolloval až na konec článku si tam můžeš posílat jako vlastní události a ještě k tomu budeš mít hromadu dalších statistik jako bonus.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0