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

Radim Zhoř
22. 10. 2025
19 minutes read

Migrating an e‑commerce store between platforms is no simple task. In this case study, we will show how we used Mergado to fully migrate the e‑shop dykka.com from Shoptet to Shopify – including products, categories, customers, reviews, and content. You will learn about the tools and methods we used, the challenges we faced, and how we ensured a 100% successful data import.

1. Introduction

1.1 What we did

For our client dykka.com, we carried out a complete migration from the Shoptet platform to Shopify – in fact, into two separate versions: dykka.com and love.dykka.com (18+).

The main reason for splitting the online store was the advertising possibilities for different product types. While adult toys cannot be promoted via Google Ads, lingerie can. That’s why we decided to create a separate store for products that can be actively advertised.

Shoptet also has limitations when it comes to entering foreign markets easily. Shopify, as a global e‑commerce platform, solves this problem – it allows flexible expansion and offers a wider range of localization and payment options.

For a successful migration, we used Mergado, a data editor that allowed us to bulk optimize and transform product data for smooth import into Shopify. We also took advantage of several Mergado extensions, which we’ll describe in more detail in later sections of this case study.

1.2 What we achieved

We managed to complete the project in a relatively short timeframe, even though this was “uncharted territory” for our team. A key success was migrating almost all the content the client had on the site – from products and categories to reviews.

Results in numbers:
  • Number of migrated items:
    • 367 products
    • 19 brands with descriptions
    • 390+ customers
    • 22 categories
    • 377 product reviews
    • 70 shop reviews
    • 69 articles
  • 30 man-days – total migration time
  • 100% successful import

2. Before migration

2.1 Tools we used

For the migration, we combined several tools that allowed us to efficiently prepare, adjust, and upload all the necessary data.

Tools used:

  • Mergado – for editing and exporting product feeds
  • Mergado extension: Shopify Importer – importing data into Shopify via API and partial data adjustments
  • Mergado extension: Scraping Camel – scraping the original website and retrieving data that could not be exported in a standard way
  • Shopify – the target e‑commerce platform
  • Shopify custom app: Mergado – connecting Mergado with Shopify
  • Shopify app: Judge.me – importing product and shop reviews
  • Shoptet – the source platform (original store)
  • Google Sheets – for quick data edits and adding missing values
  • Online image editing tools – e.g., for changing image resolutions

How we activated the tools:

  • Mergado extensions (Shopify Importer, Scraping Camel) – activated easily via store.mergado.com
  • Shopify app: Judge.me – activated in the Apps section in Shopify admin

Shopify custom app: Mergado – instructions are available on the Mergado forum
 For correct functionality, the app needs these permissions:

read_products, write_products, read_markets, write_content, read_content, write_files, read_files, write_customers, read_customers, write_online_store_navigation, read_online_store_navigation, write_publications, read_publications, write_translations, read_translations, write_orders, read_orders

2.2 Access we needed

  • Access to Shoptet admin (the original store)
  • Access to Shopify admin (for both newly created stores)
  • Mergado account
  • Google account (for working in Google Sheets)
  • Authorized access for Scraping Camel to download store content – required cooperation from the store owner
  • FTP access to the original store – for downloading images

2.3 Migration checklist

  • Images
  • Products
  • Categories
  • Customers
  • Articles
     – blog
     – other website pages
  • Product reviews
  • Shop reviews
  • Brands
  • Orders
  • Creating Menus
  • Language versions

2.4 Step-by-step process

  • Before the import itself, we prepared the Shopify store(s) for data import – set up languages, markets, and metafields for individual objects.
  • We started with objects containing text blocks (product, category, brand, and article descriptions).
    • These texts contained URLs with old domains and links to images stored on cdn.shoptet, which had to be replaced with new URLs after uploading them to Shopify.
  • Then we uploaded other blocks – customers, orders, and reviews.
  • We uploaded images.
  • We handled interlinking – replacing old URLs in texts with new object and image URLs.
  • We uploaded language versions and translations for all objects (products, categories, articles, brands) and updated links inside these texts. Migration of translations must always happen at the final stage, when all other parts of the store have already been migrated.
  • Final step: overall check and handover for SEO audit.

2.5 What to consider before migrating an online store

  • SEO – keeping URL structure, redirects, and meta info
  • Backups – full backup of content and database
  • Data compatibility – verifying file formats and data types for import
  • API and access availability – so the migration doesn’t get stuck waiting for permissions
  • Time buffer – for testing and bug fixing before launch
  • Image sizes – some may need adjustments before import

💡 Tip: If your images need editing, use the Mergado extension Feed Image Editor, which allows you to bulk optimize and prepare images for import.

3. Migration process

3.1 Products

3.1.1 What we need

Shoptet allows exporting product data in XML format via a feed URL, while Shopify requires importing products from a CSV file in Shopify CSV format. To convert from Shoptet Complete XML to Shopify CSV, we used Mergado, which can transform and prepare data for import.

For this process, you need:

  • Mergado account – to process the data (converter)
  • Access to Shoptet admin – to export data
  • Access to Shopify admin – to import data
  • Custom Shopify app: Mergado – to connect Mergado with Shopify

3.1.2 Step-by-step

Shoptet

  1. In Shoptet admin, go to Products → Export.
  2. Select the system format Complete XML Export.
  3. Copy the feed URL (bottom of the page).

 

Mergado

  1. Create a new project in Mergado and paste the Shoptet feed URL.
  2. Input format: Shoptet Complete [CZ] (product variants as separate items).
  3. Output format: Shopify CSV.
  1. Data adjustments:
    1. Text formatting cleanup – remove unwanted HTML tags (automation Shoptet export: HTML formatting cleanup). Why: Shoptet exports descriptions with HTML tags that Shopify doesn’t support.
    2. Weight recalculation – convert kilograms into grams. Why: Shoptet uses kilograms, Shopify requires grams.
    3. TYPE element adjustment – Shopify requires only the final category level, while Shoptet exports the full hierarchy. We shortened it using regex (.*>\s*)(.*).
    4. Metafields creation – saving Shoptet CODE and handle with the Rewrite rule. Why: after shutting down Shoptet, these values would be lost.

    5. Bulk copy of values – e.g., SEO title, Meta description, logistic weight, first image, code. Why: some values aren’t transferred automatically.
    6. Product type setup – digital/​physical (requires_​shipping: TRUE/FALSE). Why: necessary for correct shipping setup.
    7. Tags – when a product belongs to multiple categories, we pass Shoptet category IDs to Shopify and use Smart Collections for correct categorization.
    8. Variant merging – since Shoptet exports variants in a different logic than is required by Shopify, we needed to split them first and then merge them according to Shopify’s requirements. We applied the Merge variants rule with a maximum of 3 attributes forming a variant.
    9. Special character removal – e.g., emojis (🖤 Bindery) at the start of names. Why: Shopify may reject categories with special characters.
    10. Product URLs import – Shoptet’s Complete export doesn’t include product URLs. We imported them from a helper project (Shoptet Universal → Plain CSV) with URL and CODE elements. Before import, we cleaned URLs of variant parameters (e.g....?variantId=2035).

Shopify

  1. In Shopify admin, create metafields: Settings → Metafields and metaobjects → Products → Add definitions.
  2. Upload the resulting CSV into Shopify: Products → Import → + Add File → Upload.

3.2 Categories

3.2.1 What we need

Shoptet allows exporting categories in CSV format via a feed URL. Shopify, however, only accepts category imports via API. The Shoptet CSV also doesn’t contain category image URLs, so these had to be added before importing into Shopify.

We solved this using Mergado Editor and its extensions. Missing image URLs were retrieved with Scraping Camel and added to the CSV in Mergado. The adjusted CSV was then uploaded directly to Shopify via Shopify Importer (API).

You need:

  • Mergado account – for preparing data and activating Scraping Camel & Shopify Importer
  • Mergado extension: Scraping Camel – to get category image URLs
  • Access to Shoptet admin – for exporting categories
  • Access to Shopify admin – for data import
  • Shopify custom app – to connect Mergado with Shopify
  • Mergado extension: Shopify Importer – to upload categories into Shopify via API
     

3.2.2 Step-by-step

Shoptet

  1. In Shoptet admin, go to Products → Categories → Export (CSV) and select language CZ.
  2. Copy the feed URL.

Mergado

  1. Create a project in Mergado, paste the Shoptet URL.
  2. Set both input and output format to Shoptet CSV and choose id as the pairing element.
  3. Get category images using Scraping Camel:
    1. Activate the extension in Mergado Store.
    2. Verify the domain, go to Edit site → Edit elements.
    3. Select element OGIMAGE and check the values.
    4. Create an export file with elements: URL (pairing), LANG (CZ), OGIMAGE, PAGE_TYPE (category).
    5. Copy the export URL.
  1. Import this file back into Mergado (Plain CSV → Plain CSV).
    1. Adjust the pairing element URL – hide the domain so only the category handle remains.
    2. Filter out non-category pages (PAGE_TYPE != category).
    3. Hide unnecessary elements (LANG, PAGE_TYPE) and create new elements url and image for correct pairing.
  1. Use the Bulk copy values rule and copy: URL → url, OGIMAGE → image.
  2. Upload this file back into the category project using Data file import.
  3. Clean up HTML formatting (automation: Shoptet export: HTML formatting cleanup).

Shopify

  1. Download the final CSV from Mergado. It should contain category handle, image, name, ID, description, and metadata.
  2. Upload the file via Shopify Importer. Manual category upload is not supported.
  3. Use Smart Collections if products belong to multiple categories.

💡Shopify uses three types of categories:

  • Collections – groups of products, a product can belong to multiple collections.
    • Custom Collections (manual assignment) or Smart Collections (automatic assignment by rules).
    • Smart Collections can be set up, e.g., “Tag = value.”
    • Shopify Importer creates Smart Collections with rule Tag = category.id, ensuring automatic assignment.
  • Type – each product can have only one type.
  • Category – broader product classification.
  1. After the upload, you can download a CSV with the original and new category ID and handle for verification, which you can use when importing translations.

3.3 Customers

3.3.1 What we need

Shoptet allows exporting customers in CSV format. This CSV must be adjusted before importing into Shopify, and errors (e.g., country codes) must be corrected.

We made the necessary edits in Mergado Editor and then uploaded the CSV into Shopify via API using Shopify Importer. While Shopify also allows manual CSV import, the API solution is faster and more flexible.

You need:

  • Mergado account – to prepare data and activate Shopify Importer
  • Access to Shoptet admin – for customer export
  • Access to Shopify admin – for customer import
  • Shopify custom app – to connect Mergado with Shopify

Mergado extension: Shopify Importer – to upload data into Shopify via API
 

3.3.2 Step-by-step

Shoptet

  1. In Shoptet admin, go to Customers → Export (CSV).
  2. Copy the feed URL.

Mergado

  1. Create a project in Mergado, paste the Shoptet URL.
  2. Set both input and output format to Plain CSV, use guid as the pairing element.
  3. Data adjustments:
    • Shopify requires two-letter country codes, but Shoptet exports country names in Czech. Shopify Importer converts them automatically, but errors can be fixed manually with the Rewrite rule.
    • Problem 1: If a customer phone number lacks the country code prefix, Shopify rejects the customer.
    • Solution:
      • Create a query  where phone number doesn’t contain “+” and is not empty: phone NOT CONTAINS "+" AND phone != "".
      • Apply Bulk rewrite by values to add country prefixes:
        • Czech Republic → +420%phone%
        • Slovakia → +421%phone%
        • Slovenia → +386%phone%
  • Problem 2: Shopify cannot import two customers with the same phone number.
  • Solution: Shopify Importer uploads the second customer without a phone number – no further action needed.

Shopify

  1. Download the final CSV from Mergado.
  2. Upload the file via Shopify Importer.
  3. Customers will appear in Shopify under Customers.

3.4 Product reviews

3.4.1 What we need

Shoptet does not allow exporting customer reviews in a standardized format, and Shopify cannot import them via API. To solve this, we exported reviews from Shoptet into CSV using our own script in the Judge.me format. Then, through the Judge.me Shopify app, we imported them into Shopify. The required adjustments (such as adding product handles) were done in Mergado Editor.

You need:

  • Mergado account – for preparing data
  • Custom script – to download reviews in CSV
  • Access to Shoptet admin – for review export
  • Access to Shopify admin – for data import
  • Google Sheets – for merging CSV files
  • Shopify app: Judge.me – for importing reviews (judgeme.com)

3.4.2 Step-by-step

Shoptet

  1. In Shoptet admin, go to Marketing → Reviews → Product reviews.
  2. Open the page inspector (right click → Inspect).
  3. In the Sources tab, create a new snippet and paste this script. It will:
    • Generate a CSV in Judge.me format
    • Automatically start download
  4. Run the script on every page with reviews (max 50 reviews per page).
  1. Merge downloaded files in Google Sheets. Add a column ID and number rows 1…n. This ID is only needed for import into Mergado, not for Shopify itself.

Mergado 

💡 In the CSV, there are product names instead of handles. You must replace them with the correct handles, otherwise Shopify will not match the reviews to products. 👇

  1. Rewrite of theproduct_handle element:
    1. In the Products project on the Products page → Table view → Custom, select only the Title and Handle elements.
    2. Download the selected columns to CSV.
    3. In the CSV, rename the column headers as follows: Title → product_handle andHandle → product_handle (pairing element with the non-valid handle vs. the new/​working handle).

  2. Import this file into the reviews project to supply the handles.
  3. Verify the matching. If product_handle oes not contain “-”, it must be fixed manually.
  4. In Mergado, hide reviews withhidden=TRUE, if you do not want them to appear after the import.
  1. Fix reviews without text (body) – Shopify does not support them. You can:
    1. Add any text to thebody field.
    2. Add star emojis according to the rating (rating → body) instead of text. This is what we did, see image:
       

  2. Download the CSV file.

Shopify

  1. Activate the Judge.me Reviews app.
  2. Go to Apps → Judge.me Reviews → Reviews → Import reviews → Judgeme Format → Upload file.
  3. Upload the prepared CSV file.

3.5 Shop reviews

3.5.1 What we need

Similar to product reviews, Shoptet does not support exporting shop reviews in a standard format. We exported them using our own script in Judge.me format and imported them into Shopify.

Shopify doesn’t support shop-level reviews natively, so we created a dummy product and assigned all shop reviews to it.

You need:

  • Mergado account – for data prep
  • Custom script – for exporting reviews
  • Access to Shoptet admin
  • Access to Shopify admin
  • Google Sheets – for merging data
  • Shopify app: Judge.me – for review import
  • Dummy product in Shopify – to attach shop reviews

3.5.2 Step-by-step

Shoptet

  1. In admin, go to Marketing → Reviews → Shop reviews.
  2. Right-click the page and select Inspect
  3. In the Sources tab, create a new snippet and paste the script that:
    1. Generates a CSV in Judge.me format.
    2. Automatically starts the download.
  4. Run the script on all pages — max 50 reviews per page.
  5. Merge all files in Google Sheets.

Mergado

  1. Import the CSV (from Google Sheets) into Mergado to edit the data. Use Plain CSV for both input and output.
  2. Data adjustments
    1. Hide unpublished reviews (hidden=TRUE).
    2. For reviews without text (body), add text or generate star emojis based on the rating (rating → body), see section 3.4.3.
  3. Download the prepared CSV for import into Shopify.

💡 Shopify does not allow shop-level reviews to be displayed. Therefore, create a dummy product in Google Sheets, import it into Shopify and then assign all reviews to it based on handle. Afterwards, publish the product on the store’s homepage as store reviews.

Google Sheets – odkaz

  • Create a CSV file with a single product, where:
    • Title:Recenze na obchod DYKKA
    • Body (HTML):Recenze na obchod Dykka.com.
    • Handle:recenze_obchodu
    • Vendor:DYKKA
    • Published:FALSE

Shopify

  1. Upload the dummy product (see the procedure in the Products section).
  2. Then upload the reviews in the Judge.me Reviews app: go to Reviews → Import reviews → Judgeme Format → Upload file and upload the CSV.
  3. To display it on the homepage:
    1. In Shopify admin, go to  Online Store → Themes → Customize.
    2. Select the Home page section.
    3. Add a new Judge.me Reviews Widget or Judge.me Carousel section.
    4. Set the specific product to sth like:  Recenze na obchod DYKKA.
    5. Save the changes.

3.6 Brands

3.6.1 What we need

Shoptet allows brand export in CSV format. We adjusted the CSV in Mergado Editor (cleaning HTML tags, fixing links, filtering data) and uploaded brands into Shopify using Shopify Importer.

Shopify does not treat brands as a separate entity, so we imported them as Smart Collections.

You need:

  • Access to Shoptet admin
  • Access to Shopify admin
  • Mergado account – for CSV cleanup
  • Mergado extension: Shopify Importer – to import via API

3.6.2 Step-by-step

Shoptet

  1. In admin, go to Products → Brands → Export (CSV).
  2. Copy the feed URL.

Mergado

  1. Create a project in Mergado and paste the Shoptet URL.
  2. Set both the input and output format to Plain CSV and choose id as the pairing element.
  3. Text formatting cleanup — remove unwanted HTML tags using the automation Shoptet export: HTML formatting cleanup.

Shopify

  1. Brands are uploaded to Smart Collections without images.
  2. Collections are uploaded via Shopify Importer (API).
  3. After the upload, check the result in Products → Collections.

3.7 Articles and pages

3.7.1 What we need

Shoptet cannot export articles in CSV. To retrieve them, we used Scraping Camel, edited data in Mergado Editor (assigned blog_​handle, formatted text, fixed links), and imported them into Shopify via API using Shopify Importer.

On Shopify, Shoptet rubrics were turned into blogs. We created two blogs and split the articles accordingly.

You need:

  • Access to Shoptet admin
  • Access to Shopify admin
  • Mergado account
  • Mergado extension: Shopify Importer
  • Mergado extension: Scraping Camel

3.7.2 Step-by-step

Shopify

  1. In Shopify, create blogs matching Shoptet rubrics: Content → Blog posts → Manage blogs → Add blog.
  2. Set the blog title according to the rubric name, and adjust the handle (the URL part) if needed — you’ll need it for cross-linking.

Scraping Camel

  1. In the Elements tab → Custom elements, click Add custom element.
    1. Articles – to download the text block
      1. Name: any (e.g., Text)
      2. Value before: <div class="text">
      3. Value after::</div>
    2. Publication date – check theARTICLE_PUBLISHEDTIME element.
  2. In Export files, create a new export and select the elements: URL (default), TITLE (default), LANG (default), Text (manual), ARTICLE_PUBLISHEDTIME (default), OGTYPE (default), METADESCRIPTION (default), OGIMAGE (default).
    1. default – an already existing element
    2. manual – a manually created element
  3. After synchronization finishes, copy the export URL.

Mergado

  1. Create a new project with Plain CSV as both input and output format.
  2. Filter only articles (hide the other pages).
    1. Create a selection OGTYPE != article
    2. Hide the created selection.
  3. On the Elements page, hide all elements and create new ones:

    title, body_html, author, blog_handle, published_at, tags, seo_description, image

  4. Using the Bulk copy values rule, map:
    1. title → TITLE
    2. body_​html → Text
    3. published_​at → ARTICLE_DATE
    4. seo_​description → METADESCRIPTION
    5. image → OGIMAGE
  5. Use the Rewrite rule to set the value of the author element to the article author (in our case, dykka.com).
  6. Segmentation by blog – You can determine which blog an article belongs to based on the URL. In our case, for example:
    1. URL obsahuje blog → blog_​handle = „blog“
    2. URL obsahuje o-nakupu → blog_​handle = „o‑nakupu“

  7. Text formatting – run the Shoptet export: HTML formatting cleanup automation.
  8. Segmentation into batches of 10 articles – to avoid overloading the API, split the articles into parts of max. 10.
    1. In the Products table, export only the list of titles, split them into groups of 10, and upload them back to Mergado.
    2. There, use the Not in selection to create segments.
    3. Create a hiding rule for each segment, regenerate the data, and download the CSV.

Shopify

  1. Upload the individual CSV segments via Shopify Importer (API).
  2. In Shopify, check the import at Content → Blog posts—you will see the publication status, author, and assignment to the blog.

3.8 Orders

3.8.1 What we need

Shoptet allows exporting orders in CSV format. However, the file cannot be uploaded directly, because Shopify requires importing orders via API only. So we again used the Mergado extension Shopify Importer.

The individual orders and order items were matched to existing customers and products in Shopify based on email and product SKU.

You need:

  • Access to Shoptet admin – for exporting orders
  • Access to Shopify admin – for importing orders
  • Mergado account
  • Mergado extension: Shopify Importer

3.8.2 Step-by-step

Shoptet

  1. In admin, go to Orders → Export → systémový formát: Shoptet CSV.
  2. Copy the feed URL.

Mergado

  1. Open the Shopify Importer extension in Mergado.
  2. Upload the CSV file with orders. Shopify Importer can process the data directly; no additional edits are needed.
  3. The import runs without triggering other actions (e.g., automated emails) and the orders are set to “fulfilled.”
  4. The extension pairs orders with customers by email. If a customer doesn’t exist, a new one is created automatically.

Shopify

In Shopify, check the imported orders in the Orders section.

 💡 Note: The Shoptet orders CSV displays each order item on a separate row, which means a single order can appear on multiple rows. For this reason, orders are not uploaded directly into a Mergado project, because the individual order items would be treated as duplicates and Mergado would always import only one item.

 

3.9 Images

3.9.1 What we need

When transferring images, we considered downloading and uploading them via FTP. However, this approach isn’t ideal, because new handles were generated for part of the images during the process which created troubles when replacing the original image URLs with new ones in all texts.

We therefore decided to upload the images that are embedded in texts (e.g., in product descriptions, articles, categories, brands) and that point to the original store’s storage into Shopify via Shopify Importer. This gave us a file with both the original and the new image URLs. We then used a rule in Mergado Editor to replace the old URLs with the new ones.

You need:
 • Access to Shopify admin — to import data
 • Mergado account — to edit data and use the Shopify Importer extension
 • Mergado extension: Shopify Importer — to import the adjusted data into Shopify via API

3.9.2 Step-by-step

Mergado

  1. Select the CSV files of objects (products, articles, categories, brands) that contain image URLs inside a text field. These are the same files you used for the actual object upload to Shopify.
  2. Upload them to Shopify Importer and choose the element that contains the image URLs (e.g., description).
  3. Click Extract Image URLs
  4. The output will be a separate CSV for each object with columns for the image URL and ALT.
  5. Merge the CSV files from all objects and remove duplicate values directly in Shopify Importer.

Shopify

Upload the images via API to Content → Files using Shopify Importer. After the upload, a mapping CSV with the original and new URLs is generated.

Tip: During upload, you can automatically resize images if needed.

Updating URLs in texts

  1. In Mergado, open all objects (products, articles, categories, brands) and create a Find and replace rule.
  2. In the rule, select the element that contains the texts with images.
  3. Use smart paste and upload the columns with the original and new URLs.
  4. Re-import the CSV files — only the image URLs will be updated.

 

3.10 Interlinking

3.10.1 What we need

When migrating from Shoptet to Shopify, correct internal linking in HTML is crucial for both functionality and SEO.

Possible scenarios:

  • 301 redirects only – a quick fix without editing content, but it can slow page loads and cause SEO losses.
  • Full link rewrite – clean HTML and better SEO, but more complex to implement; requires finding and rewriting all links to match the new structure.
  • Hybrid approach (recommended) – rewrite all links that can be clearly mapped, leave the rest to 301 redirects, and after launch check internal links with a crawler.

To set up internal links correctly, you need:

  • Access to Shopify admin – to import data
  • Mergado account – to edit data
  • Mergado extension: Shopify Importer – to import the adjusted data into Shopify via API

3.10.2 Step-by-step

  1. In Mergado, open all text-based objects (products, categories, brands, articles) that contain URLs.
  2. Upload them to Shopify without modifying the URLs.
  3. In Shopify, create two metafields — original ID and original URL — that store the original Shoptet ID and URL. The goal is for every object to have a new URL plus the stored original URL and ID.
  4. In the Mergado Shopify Importer extension (Migrator section), run Extract all URLs:
    1. Upload, in a single CSV, all files that were uploaded to Shopify (products, articles, categories, brands).
    2. Specify the element that contains URLs (e.g., description). If you have multiple elements, repeat the process for each.
    3. Enter the original domain (e.g., http://www.dykka.com) so the system ignores external links.
    4. Select the object type (product, article, brand, category).
    5. For the Shopify CSV format, provide the original Shoptet ID (e.g.,variantSKU).
    6. Run Extract URLs — the result is a CSV containing all URLs (including duplicates).
  5. Export a map of new vs. original URLs from Shopify:
    1. Enter the domain (e.g., example.myshopify.com), the Admin API token z Mergado custom app (ze Shopify) a veřejnou doménu nového e‑shopu (např.shop.dykka.com). the Admin API token from the Mergado custom app (in Shopify), and the public domain of the new store (e.g., shop.dykka.com).
    2. Download the CSV file.
  6. Prepare the basis for the Find and replace rule:
    1. Upload the map, enable “include path-only variant” and “wrap as href ‘…’”.
    2. The output contains two columns — original URL and new URL (including versions with and without the domain).
  7. In Mergado, create a Find and replace rule for each object type:
    1. Choose the element that contains the URLs.
    2. Use smart paste and upload the original/​new URL columns.
    3. Regenerate the project and verify the links.
  1. Reupload the CSVs to Shopify — only the URLs will be updated.

3.11 Language versions

3.11.1 What we need

Shoptet allows exporting translations for most objects to a CSV file. However, Shopify requires importing them via API only, not via manual upload. We therefore edited the data in Mergado Editor and then uploaded it to Shopify via API using the Shopify Importer extension.

For this procedure you need:

  • Access to Shoptet admin — to export translations
  • Access to Shopify admin — to import dat
  • Mergado account — to edit data
  • Mergado extension: Shopify Importer — to upload data to Shopify via API

3.11.2 Step-by-step

Shoptet — Products

  1. In the admin, go to Products → Export → Languages – CSV.
  2. Select CSV format and, in the Language section, choose English (or other language).
  3. The export contains the pairing element, the default language, and the translated text.
  4. If a translation is missing, that element will not be imported.

💡 Missing translations can be supplemented using Mergado extensions or functions (e.g., Mergado Translate or the Data file import rule).

Mergado

  1. Import the CSV file into Mergado — input format Plain CSV, output Plain CSV.
  2. For products, create two projects — a product project (core information) and a variants project (parameters and their values).
  3. Create new elements for a functional import into Shopify:
    1. Type — object type (e.g., product, article, category)
    2. ID — pairing ID of the item (for products, e.g., CODE; in Shopify, the ID)
    3. Locale — language (e.g., en)
    4. Field1, Field2… — field name (e.g., title, body_html)
    5. Value1, Value2… — translation value
  1. Example mapping:
    1. Type → product
    2. Locale → en
    3. Field1 → title
    4. Value1 → %name:en%
    5. Field2 → body_html
    6. Value2 → %description:en%
    7. Field3 → meta_title
    8. Value3 → %seoTitle:en%
    9. Field4 → meta_description
    10. Value4 → %metaDescription:en%

  2. Import Shopify IDs:
    1. Why: every translation must be attached to an object that already exists in Shopify.
    2. Products: pull product IDs back via the Shopify integration in Mergado during the products import.
    3. Other objects: use the mapping CSV from the Shopify Importer extension.
  3. Text formatting — for any element that contains formatted text (in our case, e.g., Value2 → %description:en%), run the Shoptet export: HTML formatting cleanup automation.

Shopify

  1. Upload the CSV via the Shopify Importer extension.
  2. Verify in Settings → Languages → English → Translate & Adapt app (this free Shopify app must be installed first).
  3. Select the object (e.g., Products) and check the translations. Not all fields are shown in the preview. 

Repeat this process for all objects that contain text.

3.12 Menu in Shopify

3.12.1 What we need

In Shopify, the user-facing navigation is defined by Menus. After uploading categories (Collections), you need to add them to the respective Menus manually.

For this procedure you need: 

  • Access to Shopify admin — to edit menus

3.12.2 Step-by-step

  1. In Shopify admin, go to Content → Menus.
  2. Click Create menu or open an existing one.
  3. Click Add menu item.
  4. In the Link field, select Collections and then the desired category (the Label field fills in automatically).
  5. Use drag and drop to nest categories.
  6. Save the changes.

4. Conclusion

Results summary

  • 99 migrated products
    • love.dykka.com: 36
    • dykka.com: 63
  • 30 man-days — migration duration
  • 100% successful import

Team and process

Five people participated in the project. The heaviest lifting was done by Radim Zhoř, and for most of the time 2 to 3 people worked on it intensively. Collaboration took the form of task hand-offs between team members, focused working sessions, and ongoing checks with quick evaluation, which helped us keep the pace and minimize errors.

Unexpected findings

During the migration we used AI to build our own app that not only imports data via API, but also adjusts it automatically; we’ll keep developing this app further.

Recommendations for other online stores

💡 Tip: Plan for up to a full month of migration time and assign a dedicated person who will spend 100% of their time on it, while others to help as needed.
⚠️ Note: Monitor progress at every step and don’t assume it will be an entirely straightforward process.

Radim Zhoř

  • He has several years of experience in e‑commerce.
  • He works as a Business Development Specialist at Mergado, where he helps to market the Mergado product management tool.