- [Case Studies](/kategorie/case-studies)
- [E‑commerce tipy](/kategorie/e-commerce-tipy)
- [E‑shopové riešenia a platformy](/kategorie/e-shopove-riesenia-platformy)
- [Mergado Pack](/kategorie/mergado-pack)
- [Mergado tipy](/kategorie/mergado-tipy)
- [Novinky v Mergade](/kategorie/novinky-v-mergade)
- [Novinky z porovnávačov cien](/kategorie/novinky-z-porovnavacov-cien)
- [Pracujeme s Mergadom](/kategorie/pracujeme-s-mergadom)
- [Rozhovory](/kategorie/rozhovory)
- [Rozšírenia](/kategorie/aplikacie)
- [S Mergadom do zahraničia](/kategorie/s-mergadom-do-zahranicia)
- [Zo života Mergada](/kategorie/zo-zivota-mergada)
 



 

 1. [  Domov  ](/)
2. [     Blog  ](/blog)
3. [     Rozšírenia  ](/kategorie/aplikacie)
4. <a class="flex items-center gap-2 hover:underline" href="" itemid="" itemprop="item" itemscope="" itemtype="https://schema.org/Thing">    **Vylepšil som aplikáciu Heureka Watchdog — pozrite sa, aké triky teraz pozná!** </a>
 
  

 

#  **Vylepšil som aplikáciu Heureka Watchdog — pozrite sa, aké triky teraz pozná!** 

 

 

 [    ![](https://www.mergado.sk/sites/default/files/perm/user-avatar/pari-square.jpg)   Petr Parimucha  ](https://www.mergado.cz/user/1) [Rozšírenia](/kategorie/aplikacie) 

22. 10. 2014

2 minúty čítania

 

 

 

 

 

  ![](https://www.mergado.sk/sites/default/files/field/image/heureka-watchdog-20.png)  

*“Aby Heureka Watchdog vedel strážiť vašu inzerciu na Heureke naozaj komplexne…”*, to som si dal za cieľ pri vývoji jeho druhej verzie. Pozrite sa, aké nové triky som 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>
  



 

## V skratke o Heureka Watchdog

Heureka Watchdog je strážny pes. Stráži inzerciu na [Heureke](http://www.mergado.sk/tema/heureka) naozaj do hĺbky. Informuje o nešvároch a ponúka nástroje na ich riešenie. Podrobnosti o Heureka Watchdog si prečítajte na [jeho stránke v Mergado Store](https://store.mergado.com/detail/heurekawatchdog/).

## Novinky v Mergadovej aplikácii Heureka Watchdog

### Doposiaľ Heureka Watchdog vedel:

- vypísať **nespárované položky tovaru** a ponúknuť nástroj na ich spárovanie
- vypísať **osamotené položky tovaru** a ponúknuť nástroj na pripárovanie do iných produktových kariet
- skontrolovať **ponuky za prekliky** a ďalšie pravidlá

### Po novom som Heureka Watchdog naučil:

- zobraziť dôležitý **graf** podielov spárovaných, osamotených a nespárovaných položiek tovaru
- zjednodušiť prekliky do zoznamov nespárovaných a osamotených položiek tovaru
- strážiť položky tovaru, ktoré majú **príliš nízku pozíciu** na produktových stránkach Heureky
- strážiť **stav kreditu**
- strážiť status **Overené zákazníkmi**
- kontrolovať, či funguje **PPC režim** reklamy
- a ďalšie signály

![Heureka Watchdog, náhlad](/sites/default/files/users/articles/heureka-watchdog-20-b.png)

## Prečo práve tieto zmeny

Doteraz kontroloval Heureka Watchdog iba položky tovaru. Pokiaľ boli položky tovaru napr. opatrené riadnymi ponukami za prekliky, myslel si strážny Watchdog, že PPC reklama funguje správne. V praxi však nastávali situácie, kedy e‑shop nemal certifikát Overené zákazníkmi alebo žiadny kredit, a tak PPC inzercia nefungovala. Po novom som preto doplnil do stráženia i signály z *administrácie e‑shopu* na Heureke. To umožní rozšíriť stráženie inzercie o nové signály a jednoduchšie hľadať možné vylepšenia.

## Prečo vyskúšať Heureka Watchdog 2.0

- Skontroluje **nastavenie vašej inzercie** v administrácii Heureky a Watchdog bude dlhodobo kontrolovať, či je všetko v poriadku.
- Umožní **napárovať tovar** do produktových kariet naozaj detailne (o významu [párovania som písal tu](http://www.mergado.sk/zoskupovani)).
- **Ušetrí Vám veľa času** pri riadení inzercie na slovenskej i českej Heureke.

## Ako vyskúšať Heureka Watchdog 2.0

- Pokiaľ už **máte Heureka Watchdog zapnutý**, pokračujte do Mergada na stránku Prehľad vášho exportu pre Heureku. Novú verziu sme nasadili všetkým užívateľom zdarma.  
    [Pokračujte do Mergada.](http://app.mergado.com/)
- Ak **používate Mergado**, ale Heureka Watchdog ste ešte **neskúšali**, zapnite si ho v Mergado Store. Prvých 10 dní bude na skúšku pracovať zadarmo. Následne za 186 Kč mesačne. Táto cena by sa Vám mala bohato vrátiť späť.  
    Pokračujte do [profilu Heureka Watchdog v Mergado Store](https://store.mergado.com/detail/heurekawatchdog/).
- Ak nepoužívate Mergado, vytvorte si užívateľský účet, založte prvý export a následne si preklikajte Mergado Store.  
    [Pokračujte do Mergada](http://app.mergado.com/).



 

- [  Heureka Watchdog ](/tema/heureka-watchdog)
 
 [    ![](https://www.mergado.sk/sites/default/files/perm/user-avatar/pari-square.jpg)  ](https://www.mergado.cz/user/1)###  [ Petr Parimucha ](https://www.mergado.cz/user/1) 

 

 

 

 

 

 

 

## Mohlo by vás *zaujímať*

 

 [    ![](https://www.mergado.sk/sites/default/files/perm/image/gpsr-sprievodca.png)  

### Ako na GPSR pre Allegro a Kaufland: S týmto sprievodcom sami doplníte e‑shop o požadované údaje

 

 ](/blog/gpsr-allegro-kaufland) 

 [    ![](https://www.mergado.sk/sites/default/files/perm/image/zobrazovanie-alternativnych-produktov.png)  

### Zobrazujte najvhodnejšie alternatívne produkty. Nakúpi u vás viac zákazníkov

 

 ](/blog/alternativne-produkty) 

 [    ![ice cat produktový katalog ](https://www.mergado.sk/sites/default/files/perm/image/ice_cat_katalog_clanok_sk.png)  

### Katalóg Icecat vám pomôže doplniť chýbajúce produktové dáta. S Mergadom ho prepojíte aplikáciou Clicking Goat

 

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

 

 

 

## Nenechajte si nič *ujsť*

 Prihláste sa k odberu nášho newslettera 

   

       

   Prihlásením súhlasíte s tým, že vaše údaje budeme spracovávať v súlade s našimi [zásadami ochrany osobných údajov](/vyhlasenie-o-cookies). 

  Ďakujeme, úspešne ste sa pripojili k nášmu zoznamu odberateľov. 

 

 

 
      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()
      }