Feedyio
← Back to blog
6 min readBy Feedyio

2GIS price list from Shopify: what the CSV needs and how to build it with Feedyio

2GIS price list from Shopify: what the CSV needs and how to build it with Feedyio

2GIS is a city directory and maps service. People use it to find a business nearby, check its opening hours and get directions. Companies can also publish a price list in their 2GIS business account, and the products then appear on the company card in the 2GIS app and on the web. For a store that already has its catalog in Shopify, typing that price list by hand, and keeping it current, is the slow part. This guide covers what the 2GIS price list file looks like, which columns matter, and how to build it from Shopify with Feedyio.

One thing up front: Feedyio builds the CSV file and hosts it at your feed URL. It does not upload the price list to 2GIS. Adding the file to your 2GIS business account is a step you do on the 2GIS side, following the 2GIS price list instructions.

What the 2GIS price list is

The price list is a table of your offers: one row per item you sell, with a name and a price as the minimum. On top of that you can add a link to the product, a picture, a description, the brand, a category, availability and the unit the price is for. The more of these you fill, the more useful the company card is for someone deciding whether to visit or order.

2GIS accepts the price list as a CSV file with values separated by semicolons. In CSV each offer carries one flat category name. If you need a nested catalog with parent and child categories, 2GIS asks for its YML format instead; the Feedyio template builds the CSV variant.

The columns Feedyio sends

The "2GIS" template in Feedyio writes a header row and these columns, with every value in quotes so commas and semicolons inside a description do not break the file:

  • id: the variant ID by default, so each row is unique. You can switch it in the feed editor.
  • name: by default "{vendor} {productTitle} {variantTitle}", for example the brand, the product and its size or color. It goes on one line and is cut to 512 characters.
  • price: two decimals with a dot as the decimal separator and no currency symbol.
  • currencyId: the currency code of the price, in its own column.
  • category: one flat category name (more below).
  • available: "В наличии" (in stock) or "Под заказ" (on order).
  • url: the product page with the variant selected, plus your UTM parameters if you set them.
  • picture: the variant image if there is one, otherwise the main product image.
  • description: plain text without HTML, on one line, cut to 5,000 characters.
  • vendor: the Shopify product vendor.
  • measure: the unit the price is given for, "шт." (piece) by default.

Availability comes from your stock

You do not have to maintain availability by hand. Feedyio reads the stock of each variant: items in stock get "В наличии", items out of stock get "Под заказ". If you would rather not show out of stock items at all, tick Exclude products: Out of stock in the feed settings and they drop out of the file. Because the feed is rebuilt after every product sync, the price list follows your stock without extra work.

Need a different value for some products? Add the Availability field in Additional fields for feed and set it for the products you choose. The same works for Vendor, if your Shopify vendor field holds something other than the brand you want to show.

Categories: one flat name per row

In the CSV price list a product has a single category name, not a path. In Feedyio you get there with category mapping:

  1. Create a category mapping (or use one you already have in the shared library) where you give your product types, collections or rules your own category names, for example "Обои" or "Краски".
  2. In the 2GIS feed, open Taxonomy, tick Use categories from category mapping and select the mapping.
  3. The mapped name goes into the category column. Products without a match leave the column empty.

For a one-off override, add the Category field in Additional fields for feed; it takes priority over the mapped name.

Units: what the price is for

A price of 450 means something different for one roll of wallpaper, one kilogram of paint or one hour of work. The Measure field tells 2GIS which it is. Feedyio sets it to "шт." (piece) by default, which fits most physical products. If you sell by weight, volume, length or time, pick the right unit from the 2GIS list: т, кг, г, куб. м, л, кв.м, м, км, дал, мешок, пара, упаковка, чел.ед., час, день, неделя, месяц. You set the unit in the feed settings.

How to build the 2GIS price list in Feedyio

  1. Install Feedyio from the Shopify App Store and let the first product sync finish.
  2. Go to Feeds, click Create feed and choose 2GIS.
  3. Set your store domain, the currency and language of the feed.
  4. Check the name pattern and the ID. The defaults work for most catalogs.
  5. Decide about out of stock items: keep them as "Под заказ" or exclude them.
  6. Connect your category mapping in Taxonomy, and set Measure if your prices are not per piece.
  7. Optionally adjust prices in the Price section, add UTM parameters, and choose whether to send every variant or one per product in Variant submission.
  8. Save, open the preview and check a few rows. Then copy the feed URL and add the price list in your 2GIS business account as their instructions describe.

Common mistakes

  • The same name for every variant. If the name has no variant title, five sizes of one product look like five copies of the same row. Keep {variantTitle} in the name pattern or send one variant per product.
  • HTML in descriptions. Shopify descriptions often contain tables and formatting. Feedyio strips HTML and line breaks, but check that what is left still reads well as plain text.
  • Wrong unit. A price per kilogram labelled as per piece confuses customers. Set Measure for products sold by weight, length or time.
  • No categories. Without the mapping the category column stays empty and the price list is one long list. A handful of clear category names makes it easier to browse.
  • Prices with the wrong separator or currency. The template already uses a dot and no currency in the price column. If you change the price format, keep it numeric.

FAQ

Does Feedyio upload the price list to 2GIS?

No. Feedyio builds the CSV file and keeps it up to date at your feed URL. You add the price list in your 2GIS business account.

Which fields are required?

2GIS needs a name and a price for each offer. The other columns are optional, but they make the company card more useful, so the template fills them where your Shopify data allows.

Can I build a nested catalog?

Not with the CSV price list: each row has one flat category. For a nested catalog 2GIS uses its YML format, which the Feedyio 2GIS template does not build.

How often does the file change?

Feedyio rebuilds the feed after every product sync, so prices and availability in the file follow your Shopify store.

More about the channel and its fields is on the 2GIS feed page.

Want your 2GIS price list built from your Shopify catalog? Try Feedyio for free on the Shopify App Store.