- [Case Studies](https://www.mergado.com/category/case-studies)
- [eCommerce tips](https://www.mergado.com/category/ecommerce-tips)
- [Online Store Solutions and Platforms](https://www.mergado.com/category/online-store-solutions-and-platforms)
- [Mergado Pack](https://www.mergado.com/category/mergado-pack)
- [Mergado tips](https://www.mergado.com/category/mergado-tips)
- [Mergado News](https://www.mergado.com/category/mergado-news)
- [eCommerce News](https://www.mergado.com/category/ecommerce-news)
- [How to use Mergado](https://www.mergado.com/category/how-to-use-mergado)
- [Interviews with e‑commerce gurus](https://www.mergado.com/category/interviews-e-commerce-gurus)
- [Extensions](https://www.mergado.com/category/apps-bidding-image-marketing-and-more)
- [Expansion with Mergado](https://www.mergado.com/category/expansion-with-mergado)
- [Mergado Lifestyle](https://www.mergado.com/category/mergado-lifestyle)
 



 

 1. [  Home  ](https://www.mergado.com/)
2. [     Mergado Blog  ](https://www.mergado.com/blog)
3. [     How to use Mergado  ](https://www.mergado.com/category/how-to-use-mergado)
4. <a class="flex items-center gap-2 hover:underline" href="" itemid="" itemprop="item" itemscope="" itemtype="https://schema.org/Thing">    **Use Macros** </a>
 
  

 

#  **Use Macros** 

 

 

 [    ![](https://www.mergado.com/sites/default/files/perm/user-avatar/23021961102131189073595481259913287n.jpg)   Lukáš Horák  ](https://www.mergado.com/blog/lukas-horak) [How to use Mergado](https://www.mergado.com/category/how-to-use-mergado) 

17. 3. 2020

2 minutes read

 

 

 

 

 

  ![Use Macros](https://www.mergado.com/sites/default/files/field/image/makra-eng-vlastni.png)  

Some time ago we introduced you to the new [Macro feature](https://www.mergado.com/mergado-macros). During its testing, we have **improved** some of its **features** and **implemented** **new** **ones** with the help of our insiders. Let’s take a **quick** **look** at where it will make your work easier.



 

 

 
                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>
  



 

Some time ago we introduced you to the new [Macro feature](https://www.mergado.com/mergado-macros). During its testing, we have **improved** some of its **features** and **implemented** **new** **ones** with the help of our insiders. Let’s take a **quick** **look** at where it will make your work easier.

## Learn how to work with Mergado macros, you speed up a lot of work

With [macros](https://app.mergado.com/projects/105468/macros/), you can do several common tasks in Mergado. Their automation will **save you a lot of valuable time**.



 

 [  ![](https://www.mergado.com/sites/default/files/perm/paragraph-image/makra-ob1.png)  ](https://www.mergado.com/sites/default/files/perm/paragraph-image/makra-ob1.png) 

### What existing macros do:



 

- ### Add manufacturer to the title
    
      
    
     
    
     It creates a query and rule that adds the manufacturer to the product name.
 
 

 

- ### Set values ​​in unique URLs
    
      
    
     
    
     It creates a single rewriting rule that ensures that **every URL is unique**.
 
 

 

- ### Remove HTML from tags
    
      
    
     
    
     **It removes HTML tags**, e. g. from product descriptions.
 
 

 

- ### Swapping values ​​for two tags
    
      
    
     
    
     It **swaps the values ​​of two tags**, typically when it is necessary to replace the main product image (e. g. IMGURL) with one that is in the feed as an alternative (e. g. IMGURL\_ALTERNATIVE).
 
 

 

- ### Segmentation into 10 conversion levels
    
      
    
     
    
     It creates 10 queries to divide your products into 10 conversion levels. It assumes the active use of [Bidding Fox Elements](https://store.mergado.com/detail/biddingfoxelements/).
 
 

 

- ### Segmentation into 5 price levels
    
      
    
     
    
     It creates 5 queries to divide products into 5 price levels.
 
 

 

- ### Hide cheap products
    
      
    
     
    
     It creates a query and rule that hides cheap products.
 
 

 

- ### Hide products that are out of stock
    
      
    
     
    
     It creates a query and rule to hide products that are not currently in stock.
 
 

 

Automation is not just a word for us. We work hard to provide features that will **speed up your daily advertising setup**. Succeed with learning automated processes in Mergado. Do you have **tips** for new useful macros? [Share them](https://mailto:mergado@mergado.com) with us.

### **You could be also interested in:**



 

 [    ![](https://www.mergado.com/sites/default/files/perm/image/ai_boost-1.jpg)  

### What should a proper client context look like for performance specialists?

 

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

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

### How Feed Optimization Unlocked Meta Ads Performance without Increasing Ad Spend

 

 ](https://www.mergado.com/blog/feed-optimization-for-meta-ads) 

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

### How to Sell Successfully on idealo

 

 ](https://www.mergado.com/blog/successful-sale-on-idealo) 

 

 

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

Lukáš takes care of most of the Czech and English communication in Mergado. Through blogs, e‑mail, and social networks, he regularly supplies readers with e‑commerce news and news and tips from Mergado. In his time off, he enjoys simple things like badminton, digging the hidden gems of the 80’s, and seafood served with red wine.

 

 

 

 

 

 

 

 

 

## What you *might be interested in next*

 

 [    ![](https://www.mergado.com/sites/default/files/perm/image/shoptet-shopify-prevod-en.jpg)  

### How We Migrated an E‑Shop from Shoptet to Shopify with Mergado: A Complete Migration Without Data Loss

 

 ](https://www.mergado.com/blog/how-we-migrated-e-shop-shoptet-shopify-mergado-complete-migration-without-data-loss) 

 [    ![how to open large xml file article cover](https://www.mergado.com/sites/default/files/perm/image/mergado-nahledovky_na_blog-landscape-1200_x_628_px-5.png)  

### How to open large XML file

 

 ](https://www.mergado.com/blog/how-to-open-large-xml-file) 

 [    ![smart value insertion article](https://www.mergado.com/sites/default/files/perm/image/smart_insertion_value.png)  

### Introducing smart value insertion. It will speed up the creation of bulk rules

 

 ](https://www.mergado.com/blog/smart-value-insertion) 

 

 

 

## Don’t miss *anything*

 Sign up for our newsletter 

   

       

   By logging in, you agree that we will process your data by the [terms of personal data protection](https://www.mergado.com/cookies). 

  Thank you, you have successfully joined our subscriber's list. 

 

 

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