- [Case Studies](/kategorie/case-studies)
- [E‑commerce tipy](/kategorie/e-commerce-tipy)
- [E‑shopová řešení a platformy](/kategorie/e-shopova-reseni-a-platformy)
- [Mergado Pack](/kategorie/mergado-pack)
- [Mergado tipy](/kategorie/mergado-tipy)
- [Novinky v Mergadu](/kategorie/novinky-v-mergadu)
- [Novinky ze srovnávačů](/kategorie/novinky-ze-srovnavacu)
- [Pracujeme s Mergadem](/kategorie/pracujeme-s-mergadem)
- [Rozhovory](/kategorie/rozhovory)
- [Rozšíření](/kategorie/aplikace)
- [S Mergadem do zahraničí](/kategorie/s-mergadem-do-zahranici)
- [Ze života Mergada](/kategorie/ze-zivota-mergada)
 



 

 1. [  Úvod  ](/)
2. [     Blog  ](/blog)
3. [     Rozšíření  ](/kategorie/aplikace)
4. <a class="flex items-center gap-2 hover:underline" href="" itemid="" itemprop="item" itemscope="" itemtype="https://schema.org/Thing">    **Vylepšil jsem aplikaci Heureka Watchdog — podívejte se, jaké kousky nově umí!** </a>
 
  

 

#  **Vylepšil jsem aplikaci Heureka Watchdog — podívejte se, jaké kousky nově umí!** 

 

 

 [    ![](https://www.mergado.cz/sites/default/files/perm/user-avatar/mergado-pan-100.png)   Pan Mergado  ](/blog/pan-mergado) [Rozšíření](/kategorie/aplikace) 

22. 10. 2014

2 minuty čtení

 

 

 

 

 

  ![Heureka Watchdog, náhled](https://www.mergado.cz/sites/default/files/field/image/heureka-watchdog-20-a.png)  

*“Aby Heureka Watchdog *uměl* hlídat vaši inzerci na Heurece opravdu komplexně…”*, to jsem si dal za cíl při vývoji jeho druhé verze. Podívejte se, jaké *nové kousky* jsem ho naučil.



 

 

 
                function tableOfContents() {
                  return {
                    headings_menu: [],
                    heading_active: '', // Added to track the active section
                    shouldBeSticky: false,

                    generateToC() {
                      const headings = document.querySelectorAll('.js-article-full-headings h2, .js-article-full-headings h3');
                      let headingMap = {};

                      headings.forEach((heading) => { // Use an arrow function to maintain `this` context
                        // Normalize heading text to remove diacritics, then replace non-alphanumeric characters with dashes
                        var normalizedText = heading.textContent.normalize("NFD").replace(/[\u0300-\u036f]/g, ""); // Remove diacritics
                        var id = heading.id ? heading.id : normalizedText.trim().toLowerCase()
                          .split(' ').join('-').replace(/[^a-z0-9\-]/ig, ''); // Updated regex to replace non-alphanumeric characters
                        headingMap[id] = headingMap[id] !== undefined ? ++headingMap[id] : 0;

                        // Use the updated `id` with diacritics removed for the heading id and the TOC
                        const finalId = headingMap[id] ? `${id}-${headingMap[id]}` : id;
                        this.headings_menu.push({
                          id: finalId,
                          title: heading.textContent,
                          level: heading.tagName.toLowerCase(), // Track heading level
                          active: false, // Initially set active to false
                        });
                        heading.id = finalId;
                      });
                    },

                    checkStickyNeeded() {
                      const ul = this.$el.querySelector('ul');
                      if (ul) {
                        this.shouldBeSticky = ul.scrollHeight < window.innerHeight;
                      }
                    },

                    setActiveHeading() {
                      // disabled not working with active state on click
                      // add @scroll.window="setActiveHeading()" to the parent div

                      // const headings = document.querySelectorAll('.js-article-full-headings h2');
                      // let activeHeading = '';
                      // let closestHeadingDistance = Infinity;

                      // headings.forEach((heading) => {
                      //   const rect = heading.getBoundingClientRect();
                      //   const offset = rect.top - window.innerHeight / 2; // Consider heading in the middle of the screen as active

                      //   if (offset < 0 && Math.abs(offset) < closestHeadingDistance) {
                      //     activeHeading = heading.id;
                      //     closestHeadingDistance = Math.abs(offset);
                      //   }
                      // });

                      // // Update the active state in headings_menu
                      // if (activeHeading !== this.heading_active) {
                      //   this.headings_menu = this.headings_menu.map(item => ({
                      //     ...item,
                      //     active: item.id === activeHeading,
                      //   }));
                      //   this.heading_active = activeHeading;

                      // }
                    },

                    setActiveItem(clickedId) {
                      this.headings_menu.forEach(item => {
                        item.active = (item.id === clickedId);
                      });
                      this.heading_active = clickedId; // Optionally update the heading_active property if used
                    },
                  };
                }
               1. <a :class="{ 'border-r-[3px] border-secondary': item.active, 'text-sm': item.level === 'h3' }" :href="'#' + item.id" class="inline-block text-balance hover:underline p-0.5 pr-3">  — </a>
  



 

## Krátce o Heureka Watchdog

Heureka Watchdog je hlídací pes. Hlídá inzerci na [Heurece](http://www.mergado.cz/tema/heureka-cz) opravdu *do hloubky*. Informuje o nešvarech a nabízí nástroje pro jejich řešení. Podrobněji čtěte o Heureka Watchdogu na jeho [stránce v Mergado Store](https://store.mergado.com/detail/heurekawatchdog/).

## Novinky v Mergadově aplikaci Heureka Watchdog

### Doposud Heureka Watchdog uměl:

- vypsat **nespárované položky zboží** a nabídnout nástroj pro jejich spárování
- vypsat **osamocené položky zboží** a nabídnout nástroj pro připárování do jiných produktových karet
- zkontrolovat **nabídky za prokliky** a další pravidla

### Nově jsem Heureka Watchdog naučil:

- zobrazit důležitý **graf** podílů spárovaných, osamocených a nespárovaných položek zboží
- zjednodušit prokliky do seznamů nespárovaných a osamocených položek zboží
- hlídat položky zboží, které mají **příliš nízkou pozici** na produktových stránkách Heureky
- hlídat **stav kreditu**
- hlídat status **Ověřeno zákazníky**
- kontrolovat, zda funguje **PPC režim reklamy**
- a další signály

![Náhled aplikace Heureka Watchdog](/sites/default/files/users/articles/heureka-watchdog-20-b.png)

*Náhled části administrace Mergadovy aplikace Heureka Watchdog.*

## Proč právě tyto změny

Doposud kontroloval Heureka Watchdog pouze *položky zboží*. Pokud byly položky zboží např. opatřeny řádnými nabídkami za prokliky, myslel si hlídací Watchdog, že PPC reklama funguje správně. V praxi ovšem nastávaly situace, kdy e‑shop neměl certifikát Ověřeno zákazníky nebo třeba žádný kredit, a tak PPC inzerce nefungovala. Nově jsem proto doplnil do hlídání i signály z *administrace e‑shopu* na Heurece. To umožní rozšířit hlídání inzerce o nové signály a lépe hledat možná vylepšení.

## Proč vyzkoušet Heureka Watchdog 2.0

- Zkontroluje **nastavení vaší inzerce** v administraci Heureky a dlouhodobě bude hlídat, zda je vše v pořádku.
- Umožní **napárovat zboží do produktových karet** opravdu detailně (o významu [párování jsem psal zde](https://www.mergado.cz/proc-je-dobre-mit-zbozi-sveho-e-shopu-v-produktovych-kartach-na-heurece-ci-zbozicz-seskupene-a)).
- **Ušetří Vám spoustu času** při řízení inzerce na **české** i **slovenské** Heurece.

## Jak vyzkoušet Heureka Watchdog 2.0

- Pokud již **máte Heureka Watchdog zapnutý**, pokračujte do Mergada na stránku Přehled vašeho exportu pro Heureku. Novou verzi jsem zapnul všem uživatelům zdarma.  
    [Pokračujte do Mergada.](https://app.mergado.com/login/?backlink=uhrwj)
- Používáte-li Mergado, ale Heureka Watchdog jste **ještě nezkoušeli**, zapněte si jej v Mergado Store. Prvních 10 dní bude na zkoušku pracovat zadarmo. Následně za 186 Kč měsíčně. Tuto cenu by Vám měl bohatě vrátit.  
    Pokračujte do [profilu Heureka Watchdog v Mergado Store](https://store.mergado.com/detail/heurekawatchdog/).
- **Nepoužíváte-li Mergado**, vytvořte si uživatelský účet, založte první export a následně si proklikejte Mergado Store.  
    [Pokračujte do Mergada](https://app.mergado.com/login/?backlink=uhrwj).



 

- [  Heureka.cz ](/tema/heureka-cz)
- [  Heureka Watchdog ](/tema/heureka-watchdog)
- [  Mergado rozšíření ](/tema/mergado-aplikace)
 
 [    ![](https://www.mergado.cz/sites/default/files/perm/user-avatar/mergado-pan-100.png)  ](/blog/pan-mergado)###  [ Pan Mergado ](/blog/pan-mergado) 

Pan Mergado byl největší dříč v našem týmu. Makal ve dne i v noci, aby byla data e‑shopů v tom nejlepším pořádku a přinášela užitek. Zde na blogu psal návody, zprávy i své vlastní názory. No ano, byla to virtuální postava, ale my jsme ho měli rádi. Fakt.

 

 

 

 

 

 

 

 

 

## Mohlo by vás *zajímat*

 

 [    ![](https://www.mergado.cz/sites/default/files/perm/image/gpsr-allegro-kaufland.png)  

### Jak na GPSR na Allegru a Kauflandu: S tímto průvodcem sami doplníte e‑shop o požadované údaje

 

 ](/blog/gpsr-allegro-kaufland) 

 [    ![Alternativní produkty náhled blog](https://www.mergado.cz/sites/default/files/perm/image/mergado-nahledovky_na_blog-landscape-1200_x_628_px_3.png)  

### Zobrazujte nejvhodnější alternativní produkty. Nakoupí u vás více zákazníků

 

 ](/blog/alternativni-produkty) 

 [    ![ice cat produktový katalóg](https://www.mergado.cz/sites/default/files/perm/image/ice_cat_katalog_clanek_cz.png)  

### Katalog Icecat vám pomůže doplnit chybějící produktová data. S Mergadem ho propojíte aplikací Clicking Goat

 

 ](/blog/icecat-clicking-goat-doplnte-chybejici-data) 

 

 

 

## Ať vám *nic neunikne*

 Přihlašte se do našeho newsletteru 

   

       

   Přihlášením souhlasíte, že vaše údaje zpracujeme v souladu s podmínkami o [ochraně osobních údajů](/prohlaseni-o-cookies). 

  Děkujeme, úspěšně jste se připojili k našemu seznamu odběratelů. 

 

 

 
      function ml_webform_success_5807248() {
        var r = ml_jQuery || jQuery
        r('.ml-subscribe-form-5807248 .row-success').show(), r('.ml-subscribe-form-5807248 .row-form').hide()
      }