# Konzolnaplózó

> A böngészőkonzolba író valós idejű hibakereső eszköz: bekapcsolás URL-paraméterrel, mit naplóz, tipikus hibakeresési esetek és hibaelhárítás.

A Pixel Manager konzolnaplózója valós idejű hibakereső eszköz. A böngésző fejlesztői konzoljában segít felderíteni a követési hibákat, ellenőrizni a pixelek adatait és figyelni a bolt konverziókövetésének állapotát.

Gyors bekapcsolás: fűzd a `?pmwloggeron` paramétert bármelyik oldal URL-jéhez, és a konzolnaplózó a teljes böngészőmunkamenetre bekapcsol.

## Mi a konzolnaplózó?

A konzolnaplózó teljes betekintést ad a Pixel Manager belső működésébe: részletes információt ír a böngésző fejlesztői konzoljába. Ezzel:

- **Követési hibákat kereshetsz:** pontosan látod, mikor sül el egy esemény, és milyen adatot hordoz.
- **Ellenőrizheted a pixelek beállítását:** megerősítheted, hogy a pixelek a helyes adatot kapják.
- **Figyelheted a hozzájárulási állapotot:** valós időben látod a hozzájárulás változásait.
- **Teljesítményproblémákat deríthetsz fel:** kiszúrhatod a lassú szkriptbetöltést vagy az API-hibákat.
- **Tesztelheted a saját kódodat:** validálhatod az eseményszűrőket és a testreszabásokat.

## Hogyan működik?

A konzolnaplózó a Pixel Manager eseményfeldolgozó láncába kapcsolódik, és minden lépésnél diagnosztikai információt ír ki:

1. **Eseményészlelés:** naplózza, amikor követési esemény váltódik ki (kosárba tétel, vásárlás stb.).
2. **Adatfeldolgozás:** megmutatja az egyes pixelekhez előkészített eseményadatot.
3. **Pixelvégrehajtás:** kiírja az egyes hirdetési platformoknak ténylegesen elküldött adatot.
4. **Rendszerfigyelés:** követi a szkriptbetöltést, az API-hívásokat és a hozzájárulás változásait.

## A naplózó bekapcsolása

Fűzd a `?pmwloggeron` paramétert bármelyik oldal URL-jéhez:

```text
https://sajatbolt.example/termek/pelda/?pmwloggeron
```

Ez a teljes böngészőmunkamenetre bekapcsolja a naplózást, amíg:

- bármelyik URL-hez hozzá nem fűzöd a `?pmwloggeroff` paramétert, vagy
- ki nem törlöd a böngésző munkamenet-tárolóját (session storage).

Miért ez a módszer?

- Gyors és egyszerű a teszteléshez.
- Nem kell hozzá admin hozzáférés.
- Munkamenet-alapú, az oldalak között megmarad.
- Éles oldalon is biztonságos, mert csak a te böngésződet érinti.

## A naplózó kikapcsolása

Fűzd a `?pmwloggeroff` paramétert bármelyik URL-hez:

```text
https://sajatbolt.example/?pmwloggeroff
```

## Mit naplóz?

### 1. A bővítmény verziója és állapota

Az oldal betöltésekor a Pixel Manager verziója és konfigurációja jelenik meg:

```text
Pixel Manager for WooCommerce: pro | distro: fms | active license: yes | version: 1.42.10
```

A sor részei:

- `pro` vagy `free`: a licencszint
- `distro: fms`: a terjesztési csatorna (Freemius vagy a WooCommerce Marketplace)
- `active license`: a licenc érvényessége (csak Pro)
- `version`: a bővítmény verziója

#### A verzióinformációs sor elnyomása

Minden más, itt leírt kimenettől eltérően a verzióinformációs sor minden oldalbetöltéskor kiíródik, akkor is, ha a konzolnaplózó ki van kapcsolva. Ez az egyetlen kimenet, amelyet a `?pmwloggeron` nélkül is látsz.

Elrejtéséhez, kikapcsolásához tedd a gyermektéma `functions.php` fájljába:

```php
add_filter('pmw_show_version_info', '__return_false');
```

A szűrő nem törli a sort, hanem a konzolnaplózóba sorolja át. Kikapcsolt naplózóval (ez az alapérték) semmi nem íródik ki. Ha hibakereséshez a `?pmwloggeron` paraméterrel bekapcsolod a naplózót, a verzióinformáció újra megjelenik, ami általában kívánatos, mert hibaelhárításkor ez az első, amit ellenőrizni kell.

### 2. Követési események

Minden felhasználói interakció, amely követési eseményt vált ki, a teljes adatával naplózódik.

Példa: kosárba tétel esemény

```text
Pixel Manager: pmw:add-to-cart event fired {
    event: Event {…},
    product: {
        id: 123,
        name: "Blue T-Shirt",
        price: 29.99,
        quantity: 1,
        category: "Clothing/Men"
    }
}
```

A naplózott események: `pmw:page-view`, `pmw:view-item`, `pmw:view-category`, `pmw:search`, `pmw:add-to-cart`, `pmw:remove-from-cart`, `pmw:select-item`, `pmw:add-to-wishlist`, `pmw:begin-checkout`, `pmw:add-payment-info`, `pmw:place-order`, `pmw:purchase`, `pmw:login`, `pmw:account-created`.

### 3. Pixelspecifikus követési hívások

Pontosan látod, milyen adatot kap az egyes hirdetési platform.

Példa: Facebook-pixel AddToCart esemény

```text
Pixel Manager: Facebook Pixel: AddToCart event sent {
    event_name: "AddToCart",
    event_id: "pmw_1234567890_abcd",
    event_source_url: "https://sajatbolt.example/termek/pelda/",
    user_data: {
        em: "7d8c3e9a...",  // hash-elt e-mail
        ph: "4f9b2c1d...",  // hash-elt telefonszám
        client_user_agent: "Mozilla/5.0...",
        fbc: "fb.1.1234567890123.AbCdEf...",
        fbp: "fb.1.1234567890123.1234567890"
    },
    custom_data: {
        content_ids: ["123"],
        content_name: "Blue T-Shirt",
        content_type: "product",
        value: 29.99,
        currency: "HUF"
    }
}
```

### 4. A szkriptek betöltésének állapota

Figyelheted a pixelkönyvtárak betöltésének sikerét és hibáit.

Siker:

```text
Pixel Manager: Successfully loaded primary script: https://connect.facebook.net/en_US/fbevents.js
```

Tartalék:

```text
Pixel Manager: Loading fallback script: https://cdn.example.com/fbevents.js
Pixel Manager: Successfully loaded fallback script
```

Hiba:

```text
Pixel Manager: Both primary and fallback scripts failed to load.
```

Gyakori okok:

- hirdetésblokkolók akadályozzák a szkriptbetöltést
- a CORS-szabályok blokkolják a külső erőforrásokat
- hálózati kapcsolati problémák
- hibás pixelbeállítás

#### Meta-pixel figyelmeztetések

A naplózó két olyan helyzetet is jelez, amely miatt a Meta-pixel a Pixel Managertől független okból nem működik:

```text
Pixel Manager: Facebook Pixel: another script has already defined window.fbq before the Pixel Manager loaded it.
```

Egy másik bővítmény vagy kódrészlet előbb létrehozott egy `window.fbq` csonkot, ezért a Meta szabványos indítása kihagyja az `fbevents.js` betöltését. Távolítsd el vagy javítsd az ütköző szkriptet.

```text
Pixel Manager: Facebook Pixel 1234567890: Meta restricts the following events for this pixel because of its business category (e.g. health and wellness): AddPaymentInfo, AddToCart, InitiateCheckout, Purchase.
```

A Meta blokkolja ezeket az eseményeket a pixeledhez, az `fbevents.js` pedig csendben eldobja őket. Ezt a Meta kényszeríti ki, a weboldalon nem javítható. Részletek: [Hibaelhárítás](https://hub.hellowp.io/hu/plugins/woocommerce-pixel-manager/hibaelharitas/).

### 5. IP-cím felismerése és földrajzi hely

Bekapcsolt szerver-szerver követésnél a naplózó az IP-cím felismerését is mutatja:

```text
Pixel Manager: Testing the IP address of the browser because one or more server-to-server APIs are enabled and require the browser IP.
Pixel Manager: Fetching IP from cloudflare using IP version v4
Pixel Manager: Retrieved the IP address 123.45.67.89 from cloudflare which took 234 ms
Pixel Manager: Retrieved the browser geo location from the cache: {
    country: "HU",
    region: "BU",
    city: "Budapest"
}
```

IP-felismerő szolgáltatások: Cloudflare (elsődleges), ipify.org (tartalék), helyi időzóna-becslés (tartalék).

### 6. Hozzájárulás-kezelés

Figyelheted a hozzájárulás állapotát és frissítéseit.

Facebook Consent Mode:

```text
Pixel Manager: Facebook Consent Mode updated: {
    ad_user_data: "granted",
    ad_personalization: "granted"
}
```

Google Consent Mode:

```text
Pixel Manager: Google Consent Mode updated: {
    ad_personalization: "granted",
    ad_storage: "granted",
    ad_user_data: "granted",
    analytics_storage: "granted",
    functionality_storage: "granted",
    personalization_storage: "granted",
    security_storage: "granted",
    wait_for_update: 500
}
```

A hozzájárulás-kezelő platform (CMP) felismerése: az első sor megnevezi a felismert CMP-t. A [hozzájárulás-kezelés platformonkénti útmutatói](https://hub.hellowp.io/hu/plugins/woocommerce-pixel-manager/hozzajarulas-platformok/) felsorolják a pontos sorokat, amelyeket a Cookiebot, a Cookie Script, a OneTrust, az iubenda, a Complianz és a CookieYes esetén várhatsz.

```text
Pixel Manager: Cookiebot CMP consent detected
Pixel Manager: Consent state: {
    marketing: true,
    statistics: true,
    preferences: true
}
```

### 7. A REST-végpont elérhetősége

A WordPress REST API elérhetőségét is ellenőrzi:

```text
Pixel Manager: REST endpoint is not available. Using admin-ajax.php instead.
```

Ez a figyelmeztetés a következőket jelentheti:

- egy biztonsági bővítmény blokkolja a REST API-t
- a szerverbeállítás korlátozza a végpontokat
- automatikus visszaesés az admin-ajax.php használatára (lassabb, de működőképes)

## Gyakori felhasználási esetek

### Hiányzó események felderítése

Probléma: a kosárba tétel események nem jelennek meg a Facebookban.

Megoldás:

1. Kapcsold be a konzolnaplózót a `?pmwloggeron` paraméterrel.
2. Kattints a kosárba tétel gombra.
3. Nézd meg a konzolban az eseménynaplót:

```text
Pixel Manager: pmw:add-to-cart event fired {product: {...}}
```

Értékelés:

- Az esemény naplózva van, de nincs Facebook-kimenet: ellenőrizd a Facebook-pixel beállítását vagy a hozzájárulást.
- Nincs naplózott esemény: JavaScript-hiba vagy témakompatibilitási probléma.
- Az esemény naplózva van, és van Facebook-kimenet is: nézd meg az adatot a Facebook Events Managerben.

Ha az eseményt naplózza és átadja a Metának, de az soha nem jelenik meg az Events Managerben, és a böngésző Hálózat paneljén sincs hozzá `facebook.com/tr` kérés, keress a konzolban üzleti kategória-korlátozásra vonatkozó figyelmeztetést. A Meta a korlátozott kategóriájú pixeleknél (jellemzően egészség és wellness) blokkolja az olyan konverziós eseményeket, mint az `AddToCart` és a `Purchase`, és hiba nélkül, a saját könyvtárában eldobja őket.

### A pixeladatok pontosságának ellenőrzése

Probléma: rossz termékár megy a Google Adsnek.

Megoldás:

1. Kapcsold be a konzolnaplózót.
2. Nézd meg a termékoldalt, vagy tegyél kosárba.
3. Hasonlítsd össze az eseményadatot a pixelkimenettel:

```text
Pixel Manager: pmw:add-to-cart event fired {
    product: { price: 29.99 }  // a termék ára
}
Pixel Manager: Google Ads: add_to_cart event sent {
    value: 34.99  // a Google Adsnek küldött érték
}
```

Értékelés:

- Ha az árak eltérnek, nézd meg, nincs-e egyedi szűrőd, amely módosítja az árat.
- A Pixel Managerben nyisd meg a **General → Order configuration** részt, és nézd át a **Marketing value logic** beállítást.

### Eseményszűrők tesztelése

Probléma: az egyedi eseményszűrőm nem működik.

Megoldás: nézd meg a konzolban a szűrés előtti és utáni adatot:

```text
Pixel Manager: pmw:purchase event fired {
    order_total: 100.00  // az eredeti érték
}
Pixel Manager: Facebook Pixel: Purchase event sent {
    value: 90.00  // a szűrő után
}
```

Ha az értékek megegyeznek, pedig nem kellene, a szűrőd valószínűleg nem működik.

### Hozzájárulási problémák felderítése

Probléma: a pixelek nem sülnek el a sütik elfogadása után.

Megoldás:

1. Utasítsd el az összes sütit.
2. Kapcsold be a konzolnaplózót.
3. Fogadd el a marketing sütiket.
4. Keresd a hozzájárulás-frissítési naplókat:

```text
Pixel Manager: Google Consent Mode updated: {
    ad_storage: "granted",
    analytics_storage: "granted"
}
```

Ha a hozzájárulás az elfogadás után is „denied”:

- a sütihozzájárulás-kezelő bővítmény rosszul van beállítva
- JavaScript-ütközés van a CMP és a Pixel Manager között
- a sütibanner nincs megfelelően integrálva

## A naplózó hibaelhárítása

### A naplózó semmit nem ír ki

1. **Ellenőrizd az URL-paramétert.** Győződj meg róla, hogy a `?pmwloggeron` szerepel az URL-ben, és az oldal újratöltődött.
2. **Kemény frissítés.** A `?pmwloggeron` hozzáadása után: Windows/Linux: `Ctrl + Shift + R`, Mac: `Cmd + Shift + R`.
3. **Konzolszűrők.** Ellenőrizd, hogy a konzol nincs szűrve: töröld a szűrőmező szövegét, és kapcsold be az összes naplószintet (Info, Warnings, Errors).
4. **JavaScript-hibák.** Keress olyan hibát, amely a Pixel Manager betöltése előtt keletkezik: javítsd ki az akadályozó hibákat, és ellenőrizd a téma- és bővítményütközéseket.

### Nincsenek pixelspecifikus naplók

Lehetséges okok:

1. **A pixel nincs bekapcsolva.** A Pixel Managerben nyisd meg a **Tracking Pixels** fület, bontsd ki az érintett platform kártyáját, és ellenőrizd, hogy a pixel be van-e kapcsolva, helyes azonosítókkal.
2. **Nincs hozzájárulás.** Nézd meg a hozzájárulási naplókat a konzolban, ellenőrizd a sütibanner beállítását, és próbáld ideiglenesen kikapcsolt hozzájárulási móddal.
3. **Az esemény nem sül el.** Keresd a `pmw:event-name` naplókat. Ha nincs eseménynapló, maga az esemény nem váltódik ki: ellenőrizd a WooCommerce-kompatibilitást.
4. **JavaScript-ütközés.** Ideiglenesen kapcsold ki a többi bővítményt, váltsd át az alapértelmezett WooCommerce-témára, és nézd meg a böngészőkonzol hibáit.

### Túl sok a konzolkimenet

- **Használj konzolszűrőket.** Egy adott pixelre: `Pixel Manager:.*Facebook`. Egy eseménytípusra: `Pixel Manager:.*purchase`.
- **Töröld rendszeresen a konzolt.** A `console.clear()` paranccsal, vagy billentyűparanccsal: Windows/Linux: `Ctrl + L`, Mac: `Cmd + K`.
- **Csak az éppen tesztelt oldalakon kapcsold be.** Add hozzá a `?pmwloggeron` paramétert a tesztoldalon, végezd el a tesztet, és ha kész, használd a `?pmwloggeroff` paramétert.

## Teljesítmény

- URL-paraméterrel bekapcsolva (munkamenet-alapú) a hatása minimális.
- Csak azokat a böngészőket érinti, amelyeken a naplózó be van kapcsolva.
- Nincs szerveroldali teljesítményhatása.
- A tényleges követés pontosságát nem befolyásolja.
- Éles oldalon biztonságos módja a `?pmwloggeron` URL-paraméter. Csak hibakeresés közben kapcsold be, és utána kapcsold ki.

## Gyakori kérdések

**Lassítja a konzolnaplózó az oldalamat?** Nem jelentősen, ha URL-paraméterrel kapcsolod be. Csak a böngészőkonzolba ír, és nem befolyásolja az oldal betöltési sebességét vagy a követés pontosságát.

**Láthatják a vásárlók a hibakeresési naplókat?** Nem. A konzolnaplók csak a böngésző fejlesztői eszközeiben látszanak, amelyeket a tipikus vásárlók nem nyitnak meg. Éles oldalon azért ne kapcsold be globálisan, hogy elkerüld az adatok véletlen kitettségét.

**Követ több adatot a naplózó bekapcsolása?** Nem. A naplózó csak azt jeleníti meg, amit a Pixel Manager már feldolgoz. Nem hoz létre, nem módosít és nem küld további követési adatot.

**Szűrhetem, mi naplózódik?** A konzolnaplózó mindent kiír (mindent vagy semmit). A böngésző konzolszűrő funkciójával a kívánt eseményekre vagy pixelekre szűkíthetsz.

**Hogyan tüntessem el a „Pixel Manager for WooCommerce: pro | distro: fms | ...” sort a konzolból?** Az a sor minden oldalbetöltéskor kiíródik, akkor is, ha a konzolnaplózó ki van kapcsolva. Add hozzá a gyermektéma `functions.php` fájljához: `add_filter('pmw_show_version_info', '__return_false');`.

**Láthatják a látogatók a licencem állapotát a konzolban?** Igen. A verzióinformációs sor tartalmazza a licencszintet és Pro esetén azt, hogy a licenc aktív-e, és bárki látja, aki megnyitja a böngésző fejlesztői eszközeit. Nem tartalmaz hitelesítő adatot, kulcsot vagy vásárlói adatot, de ha nem akarod hirdetni, nyomd el a `pmw_show_version_info` szűrővel.

**Meddig marad aktív a `?pmwloggeron`?** A teljes böngészőmunkamenetre aktív marad, amíg a `?pmwloggeroff` paramétert egy URL-hez nem fűzöd, kézzel nem törlöd a munkamenet-tárolót, vagy be nem zárod a böngészőt (a munkamenet véget ér).

**Használhatom inkognitó módban?** Igen. Fűzd a `?pmwloggeron` paramétert az inkognitóablak URL-jéhez. Tesztelésre ez egyenesen ajánlott, mert elkerülhető vele a gyorsítótárazott adat.

**Működik AJAX-os kosárba tétellel?** Igen. A konzolnaplózó minden eseményt követ, akár oldalbetöltés, akár AJAX-kérés váltja ki.

**Láthatok korábbi naplókat?** Nem. A konzolnaplók az oldal frissítésekor törlődnek. Megőrzésükhöz kapcsold be a Chrome DevTools „Preserve log” beállítását, vagy mentsd el a konzolkimenetet a frissítés előtt.

## Összefoglalás

A konzolnaplózó fontos eszköz:

- **hibakereséshez:** gyorsan kiderítheted, miért nem sülnek el az események vagy miért nem töltődnek be a pixelek,
- **ellenőrzéshez:** megerősítheted, hogy a hirdetési platformok a helyes adatot kapják,
- **figyeléshez:** valós időben követheted a hozzájárulás változásait és a rendszerállapotot,
- **teszteléshez:** validálhatod az egyedi szűrőket és a beállítási változtatásokat.

Gyors indulás:

1. Fűzd a `?pmwloggeron` paramétert bármelyik URL-hez.
2. Nyisd meg a böngésző fejlesztői eszközeit (F12).
3. Válts a Console fülre.
4. Végezz műveletet (kosárba tétel, pénztár stb.).
5. Nézd át a konzolkimenetet a követési adatokért.
6. Ha végeztél, fűzd az URL-hez a `?pmwloggeroff` paramétert.

Kapcsolódó fejezetek: [PHP-szűrők](https://hub.hellowp.io/hu/plugins/woocommerce-pixel-manager/fejlesztoknek-php-szurok-ertekek/), [Diagnosztika és tesztelés](https://hub.hellowp.io/hu/plugins/woocommerce-pixel-manager/diagnosztika-es-tesztelles/), [Hibaelhárítás](https://hub.hellowp.io/hu/plugins/woocommerce-pixel-manager/hibaelharitas/), [Hozzájárulás-kezelés](https://hub.hellowp.io/hu/plugins/woocommerce-pixel-manager/hozzajarulas-attekintes/).
