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



 

 1. [  Domov  ](https://www.mergado.sk/)
2. [     Blog  ](https://www.mergado.sk/blog)
3. [     Case Studies  ](https://www.mergado.sk/kategorie/case-studies)
4. <a class="flex items-center gap-2 hover:underline" href="" itemid="" itemprop="item" itemscope="" itemtype="https://schema.org/Thing">    **Udržujte informácie o tovare na Shoptet e‑shope aktuálne. Pomocou prípadovej štúdie od Flexity**  </a>
 
  

 

#  **Udržujte informácie o tovare na Shoptet e‑shope aktuálne. Pomocou prípadovej štúdie od Flexity**  

 

 

 [    ![](https://www.mergado.sk/sites/default/files/perm/user-avatar/23021961102131189073595481259913287n.jpg)   Lukáš Horák  ](https://www.mergado.sk/blog/lukas-horak) [Case Studies](https://www.mergado.sk/kategorie/case-studies) 

16. 6. 2021

5 minút čítania

 

 

 

 

 

  ![Udržujte informácie o tovare na Shoptet e-shope aktuálne. Pomocou prípadovej štúdie od Flexity ](https://www.mergado.sk/sites/default/files/field/image/case-studiessokol.png)  

Ak spravujete viac e‑shopov prevádzkovaných na riešení [Shoptet](https://www.mergado.sk/mergado-shoptet), je dôležité, aby ste udržiavali **údaje o tovare vzájomne aktuálne**. Pri každej zmene u produktov na jednom e‑shope potrebujete, aby sa v čo najkratšom čase preniesla aj do vašich ďalších prevádzkovaných obchodov. Detailný postup pre vás v prípadovej štúdii spísal *Tomáš Sokol*, spoluzakladateľ e‑shopu [Flexity](https://www.flexity.sk/).



 

 

 
                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>
  



 

Ak spravujete viac e‑shopov prevádzkovaných na riešení [Shoptet](https://www.mergado.sk/mergado-shoptet), je dôležité, aby ste udržiavali **údaje o tovare vzájomne aktuálne**. Pri každej zmene u produktov na jednom e‑shope potrebujete, aby sa v čo najkratšom čase preniesla aj do vašich ďalších prevádzkovaných obchodov. Detailný postup pre vás v prípadovej štúdii spísal *Tomáš Sokol*, spoluzakladateľ e‑shopu [Flexity](https://www.flexity.sk/).

## Manuálny export a import dát medzi e‑shopmi

[Shoptet](http://www.shoptet.sk/) **neponúka master admin,** ktorý by dokázal centralizovane distribuovať údaje k produktom, kde by stačila len lokalizácia pre jednotlivé štáty. Preto sme hľadali riešenie, ako sa s problematikou udržiavania aktuálnych dát vysporiadať.

Jedným zo spôsobov je **manuálny export a import** [CSV](https://www.mergado.sk/tema/csv), [XML](https://www.mergado.sk/tema/xml-feed) alebo *XLS formátu* medzi e‑shopmi.

Pri tomto postupe je **limitujúci faktor jazyková verzia**. Napríklad, ak potrebujem upraviť dostupnosť u jedného produktu, musel by som prekladať pojmy z jedného jazyka do druhého a potom importovať. Možnosť manuálneho importu s manuálnym prekladom môžete navyše použiť len pri XLS a CSV. Pri využití XML už proces začína byť značne komplikovanejšie.

Pri vzájomnom importe je potreba poznať, **ktoré názvy elementov zostávajú v angličtine** (napr. *VISIBILITY, PRICE, CODE* pod.) a ktoré už sú v jazykovej verzii. Toto musím vedieť, ak chcem správne importovať dáta bez toho, aby som si niečo v inom jazyku prepísal na e‑shope.

### Zmapovanie hodnôt

Následne si potrebujeme zmapovať, ktoré *“hodnoty”* sú stále rovnaké naprieč e‑shopmi a ktoré sa menia. Napríklad pri prenášaní hodnôt *CODE, EAN, Flag* nemusím riešiť jazykové verzie a môžem ich preniesť bez problémov. Len si musím dať pozor na to, že **základný export vždy obsahuje názov produktu**, ktorý bude v lokálnej jazykovej verzii.

Ak by som už chcel synchronizovať dostupnosti produktov naprieč e‑shopmi, musím riešiť *preklady hodnôt.*

Pri správe viacerých e‑shopov je situácia často taká, že existuje **jeden centrálny sklad a hlavný e‑shop**.

V takom prípade si musím najskôr u seba zmapovať, ktoré hodnoty chcem synchronizovať naprieč e‑shopy a v akej *frekvencii*.

1. Základom je **sklad.** Ten odporúčam mať cez *samostatny doplnok*, pretože tam ide o stotiny/​sekundy.
2. Ostatné dáta ako dostupnosť produktu u dodávateľa, viditeľnosť alebo úpravy cien môžu bežať aj na hodinovej báze.

Keď viem presne, čo chcem preniesť, ešte potrebujem mať správne nastavené všetky **technické záležitosti a pripravené systémy.**



 

Prenášať dáta sa **oplatí aj v prípade jedného e‑shopu.** Napríklad v rámci úpravy [dodávateľských feedov](https://www.mergado.sk/upravujte-feedy-zo-shoptetu-pomocou-mergada).

 

 

 

 

 

### Doplnok Automatické importy

V základnej verzii mi môže stačiť ručný export a import dát, pretože si sám skontrolujem frekvenciu, *ako často dáta nahrávam* (denne, týždenne, mesačne). Lepšia možnosť je využiť **automatické importy cez doplnok Shoptet** (dlhodobá investícia alebo free pre Entreprise).

Pre rýchlejšiu prácu s väčším množstvom dát už odporúčam používať *XML feed* a naučiť sa jeho základné elementy a logiku. Pre automatizáciu správy XML feedov využívam aplikáciu [Mergado.](https://www.mergado.sk/mergado-sikovny-spravca-produktovych-feedov) Zabezpečuje hladký a spoľahlivý chod inzercie a ponúka veľa možností, ako **rýchlo i prehľadne zvládnuť každodenné úkony e‑shopára.**

**Postup je potom nasledovný:**

1. Zvolím, aké dáta chcem z e‑shopu **prenášať do Mergada** (aký vstup).
2. V Mergade si nastavím pravidlá pre **transformáciu feedu.**
3. Manuálne nahrám *výstupný feed*.



 

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

## Pravidlá, ktoré využívame a ich účel

### Marža

Pomocou [importu dátového súboru ](https://www.mergado.sk/release2-augus)môžeme natiahnuť nákupné ceny do nového elementu. Následne môžeme pravidlami pre výpočet **získať čistú maržu na každý výrobok** alebo percentuálnu hodnotu. S týmito získanými hodnotami môžeme ďalej pracovať.

- **Nahrať ich späť do e‑shopu** pod prvok, ktorý nepoužívame – napr. *MPN/​Serial Number* a pod. Priamo v rozhraní e‑shopu tak pri každom produkte uvidíme *výšku marže.*
- Môžeme **rozdeliť produkty do niekoľkých skupín** podľa marže a priradiť túto kategorizáciu ABC do voľného prvku. Ak napríklad nechcem, aby bolo vidieť *konkrétne číslo v e‑shope*.
- Všetky dáta tiež môžeme **exportovať do tabuľky** a vytvoriť si vlastnú analýzu (toto odporúčam až po tom, čo si nahráme väčšie množstvo dát od dodávateľov).



 

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

### Dáta od dodávateľov

Ak mám k dispozícii aspoň nejaké dáta od dodávateľa, najlepšie, čo môžem urobiť, je dostať ich **vo formáte CSV na zabezpečenej FTP**, odkiaľ ich potom môžem sťahovať. Na začiatok by nám stačilo, aj keby sme mali len tabuľku *s hodnotami CODE*, *dostupnosť a prípadne nejaký dátum*.

Následne môžeme pomocou niekoľkých krokov vyriešiť situáciu ako:

- či je dnes od dodávateľa možné **doobjednať tovar** (ak zákazníkom umožňujeme nákup tovaru, ktorý nie je skladom)
- zistiť, či u dodávateľa niektorý **tovar vypadol z ponuky** (bez manuálnej kontroly)
- skryť na e‑shope produkty, ktoré práve **nie sú dostupné**
- skryť iba **varianty produktu,** ktoré dodávateľ nemá
- opäť zobraziť produkt, keď u dodávateľa **pribudne skladom**
- natiahnuť **dostupnosť** priamo do Shoptetu
- povoliť nákup položiek, ktoré nemám skladom, ale u dodávateľa sú **v dostatočnom počte**
- meniť nákupné a odporúčané predajné ceny, nastavovať **akcie a zľavy**
- mať absolútnu **kontrolu nad jednotlivými produktmi** a nastaviť si pravidlá podľa potreby vďaka importu interných poznámok



 

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

Dokážeme tak výrazne **zefektívniť obstarávanie a znížiť čas kontroly.**

Budeme na to potrebovať niekoľko **pravidiel a elementov:**

1. Hodnoty od dodávateľov budem **importovať do vlastných elementov** *dodavatel1\_​sklad.*
2. Aby som zistil, či došlo k zmene alebo či niečo vypadlo, nastavím si **pravidlo na hodnotu** *napr. ‑1* pre všetky hodnoty skladu.
3. Po importe dátového súboru sa tieto hodnoty prepíšu a tam, *kde zostane ‑1*, spoznám, že tento **konkrétny produkt práve nie je v ponuke vo feede**.
4. Pomocou výberov produktov následne môžem **zvoliť logiku pravidiel** – zmeniť element *VISIBILITY na detailOnly* (nezobrazovať), pokiaľ dodávateľ nemá tovar skladom alebo ho má málo. Súčasne nastavím pravidlo, aby som **opätovne zobrazil produkt**, keď ho dodávateľ doskladní.
5. Dôležité je dávať pozor na **poradie pravidiel.**



 

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

### Vlastný sklad

- Pokiaľ si natiahneme skladové zásoby (opäť len ďalší *export code + stock*) cez CSV, môžeme si robiť interný audit zobrazených produktov. Alebo prieskum, či máme správne zobrazené/​nezobrazené produkty podľa vlastného skladu. Predídeme tým **skrytým skladovým zásobám.**
- Pomocou **importu dát poslednej objednávky** (vlastný CSV export objednávok z e‑shopu) môžeme sledovať prehľad tovaru, ktorý nejde na odbyt. Najmä v prípade viacerých e‑shopov potrebujeme vidieť predaj zo všetkých z nich. Tu sa nám hodí pravidlo, kedy si z každého e‑shopu naimportujete **údaj o poslednej objednávke k danému kódu produktu za určitý dátum** *(tip: dátum si môžeme zmeniť priamo v URL, ak ho chcem aktualizovať)*.

### Preklady a pre viac e‑shopov

- Ak tieto údaje od dodávateľov potrebujeme **udržiavať aktuálne** medzi viacerými e‑shopmi, môžeme použiť **hlavný sklad ako predvolené import**.
- Následne stačí niekoľko **pravidiel na preklad elementov** ako sú *dostupnosť skladom a dostupnosť pri vypredania*.
- Pre daný štát si **upravíme sadzby DPH** (napr. V Česku 3 sadzby).
- Pre dobierky v *Maďarsku* potrebujeme, aby bola suma zaokrúhlená a končila *0, alebo 5*, čo jednoducho zvládneme pomocou **pravidiel výpočtu.**



 

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

Udržiavanie aktuálnych údajov na e‑shopoch priamo úmerne **ovplyvňuje atraktivitu ponuky.** Ak budete poskytovať správne informácie o vašom tovare, nemusíte sa báť, že nakupujúci opustia váš web, pretože v ponuke objavia nezrovnalosti. Prevádzkovanie e‑shopu na riešeniach [Shoptet ](https://www.shoptet.sk/co-vieme/)ponúka komplexné možnosti správy. Jeho prepojenie s [Mergadom](https://www.mergado.sk/zaciname-s-mergadom) je veľmi jednoduché, takže okrem **bezchybne fungujúceho obchodu** navyše povediete kvalitnú inzerciu na porovnávačoch tovaru v SR i zahraničí.

[![](/sites/default/files/users/button_sk.png)](https://app.mergado.com/)

![](/sites/default/files/users/sokol1.png)

*Autorom tohto článku je spoluzakladateľ e‑shopu Flexit Tomáš Sokol.*

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



 

 [    ![uawc_cs_cz](https://www.mergado.sk/sites/default/files/perm/image/mergado-nahledovky_na_blog-1200_x_628_px-4.jpg)  

### Ako optimalizácia feedu zvýšila výkon Meta Ads bez navýšenia rozpočtu

 

 ](https://www.mergado.sk/blog/optimalizace-feedu-pro-Meta-Ads) 

 [    ![ako_uspet_idealo](https://www.mergado.sk/sites/default/files/perm/image/mergado-nahledovky_na_blog-1200_x_628_px-3.jpg)  

### Ako úspešne predávať na idealo

 

 ](https://www.mergado.sk/blog/uspesny-prodej-na-idealo) 

 [    ![](https://www.mergado.sk/sites/default/files/perm/image/ai_boost_0.jpg)  

### Ako by mal vyzerať správny kontext o klientovi pre performance špecialistov

 

 ](https://www.mergado.sk/blog/master-prompt-eshopy-b2c) 

 

 

 [    ![](https://www.mergado.sk/sites/default/files/perm/user-avatar/23021961102131189073595481259913287n.jpg)  ](https://www.mergado.sk/blog/lukas-horak)###  [ Lukáš Horák ](https://www.mergado.sk/blog/lukas-horak) 

Lukáš sa v Mergade stará o väčšinu komunikácie v češtine. Prostredníctvom blogu, e‑mailu a sociálnych sietí pravidelne zásobuje čitateľa aktualitami z e‑commerce, novinkami a tipmi z Mergada. Pokiaľ práve nie je copywriter, užíva si príjemné veci ako badminton, výlety medzi utajené skvosty osemdesiatkovej hudby a plody mora podávané s červeným vínom.

 

 

 

 

 

 

 

 

 

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

 

 [    ![uawc_cs_cz](https://www.mergado.sk/sites/default/files/perm/image/mergado-nahledovky_na_blog-1200_x_628_px-4.jpg)  

### Ako optimalizácia feedu zvýšila výkon Meta Ads bez navýšenia rozpočtu

 

 ](https://www.mergado.sk/blog/optimalizace-feedu-pro-Meta-Ads) 

 [    ![](https://www.mergado.sk/sites/default/files/perm/image/effectix_jabkolevne_casestudy_sk.jpg)  

### Reálny dopad vizuálnej úpravy produktových obrázkov na výkon Meta kampaní

 

 ](https://www.mergado.sk/blog/vizualy-pre-meta-kampane) 

 [    ![](https://www.mergado.sk/sites/default/files/perm/image/shoptet_shopify_sk.jpg)  

### Ako sme s Mergadom previedli e‑shop zo Shoptetu na Shopify: kompletná migrácia bez straty dát

 

 ](https://www.mergado.sk/blog/ako-sme-s-mergadom-previedli-e-shop-zo-shoptetu-na-shopify-kompletna-migracia-bez-straty-dat) 

 

 

 

## 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](https://www.mergado.sk/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()
      }