Shopify vs Magento is a choice between renting a finished platform and running your own. Shopify is hosted software: Shopify runs the servers, security and upgrades, plans start at $39 a month ($29 billed yearly) according to Shopify's pricing page, and a product can carry up to three options and 2,048 variants. Magento, sold as free Magento Open Source or as quote-priced Adobe Commerce, gives you attribute sets, six product types and a global, website and store view scope model, but you or a partner host, patch and upgrade it.
Pick Shopify when your catalog fits size, color and one more option per product, your team is small, and you want predictable monthly costs. Pick Magento when you need per-family attribute templates, several websites or languages from one catalog with different prices, customer-group pricing, or deep customization, and you can fund the developers that come with it. Below, the comparison runs through the catalog first, because product data is the part of a platform decision that is hardest to undo.
Hosted rental or self-run platform: the differences at a glance
Shopify and Magento: limits, costs and who does the work
| Delivery model | Hosted SaaS | Self-hosted or Adobe-hosted (Adobe Commerce on Cloud, or Adobe Commerce as a Cloud Service) | Who patches and upgrades |
|---|---|---|---|
| License price | Basic $39, Grow $105, Advanced $399 a month; Plus from $2,300 | Open Source free; Adobe Commerce priced per quote | Magento's real cost is hosting and developers |
| Product types | One product with variants; bundles through an app | Simple, configurable, grouped, virtual, bundle, downloadable; gift card on Adobe Commerce | Grouped and bundle products need remodeling on Shopify |
| Options per product | 3 | No three-option cap stated in Adobe's docs | Four-choice products split or merge on Shopify |
| Variants per product | 2,048 | No cap stated in Adobe's docs; each variation is its own simple product | Large grids fit both |
| Custom product data | Metafields and metaobjects | Attributes grouped in attribute sets | Attribute sets have no direct Shopify twin |
| Categories | Collections plus one Standard Product Taxonomy category | Category tree per root category, many categories per product | The tree becomes collections and menus |
| Languages and countries | Markets with languages, currencies and catalogs | Websites, stores and store views with scoped values | Store view rows become Shopify translations |
| B2B | B2B features on every plan, more on Plus | Customer-group tier prices in core; company accounts and shared catalogs in Adobe Commerce B2B | Customer-group prices need a new home |
| Upgrades | Continuous, done by Shopify | Release lines with support end dates | Plan migrations around Magento end of support |
| Skills you need | Merchandisers plus app setup | PHP developers, DevOps and an agency for most stores | Budget follows the team, not the license |
Magento Open Source, Adobe Commerce and Adobe's SaaS edition
"Magento" now covers three products. Magento Open Source is the free codebase you download and host yourself. Adobe Commerce is the licensed edition with extra features such as gift cards, B2B modules and Adobe support, available self-hosted or on Adobe Commerce on Cloud. Adobe does not publish a price list for it; its pricing page asks you to request a custom quote. Adobe Commerce as a Cloud Service is Adobe's newer SaaS version: Adobe runs it, it is versionless, and the storefront is headless.
Support dates matter for anyone staying on the 2.4.x line. Adobe's software lifecycle policy gives each Adobe Commerce release three years of standard support from general availability: 2.4.7 until 31 May 2027, 2.4.8 until 31 May 2028 and 2.4.9 (released 12 May 2026) until 31 May 2029. Standard support for 2.4.6 ended on 11 August 2026; Adobe Commerce customers get a free extra year of extended support, for 2.4.6 until 31 August 2027 and for 2.4.7 until 31 May 2028. From 1 June 2027, Adobe will stop maintaining Adobe Commerce on Cloud environments that run unsupported versions.
Adobe publishes no separate end-of-support table for Magento Open Source. Open Source ships on the same release line (Adobe publishes Magento Open Source 2.4.9 release notes next to the Adobe Commerce ones), but the extended support year is described as an offer for Adobe Commerce customers. A self-hosted Open Source store should therefore plan its upgrades around the standard support dates.
Attribute sets, metafields and the product form each one builds
In Magento, every product is built from an attribute set: a template that decides which attributes appear on the product form. A store selling bikes and helmets might run a Bicycle set with frame size, wheel size and gear count, and a Helmet set with head circumference and safety standard. Each attribute has a type (text, dropdown, multiselect, price, date, yes/no) and a scope. Magento's product data attributes reference shows how they travel in CSV: `attribute_set_code` assigns the set, and custom values go into `additional_attributes` as key-value pairs.
Shopify has no attribute sets. Custom data lives in metafields, defined once per resource (product, variant, collection) with a namespace, key and type such as single line text, integer or product reference. Metaobjects hold multi-field records, like a size chart or a material spec, that products reference. Shopify also lets you set one category from its Standard Product Taxonomy, which adds category metafields. Our guide to Shopify metafields covers the definitions in detail. The practical difference: Magento shows a Bicycle form with only bike fields, while Shopify shows every product metafield definition on every product, so the structure has to live in naming and in your own discipline.
If you are new to the concept, the dictionary entry on the attribute set explains why per-family templates keep data entry consistent. It is also the first thing a Magento to Shopify move flattens.
A fourth option, bundles and grouped products: where Shopify's variant model stops
Adobe's documentation lists six core product types plus gift cards on Adobe Commerce. The one that matters most in this comparison is the configurable product: a parent that shows a selector, with every variation stored as a separate simple product that has its own SKU, price, stock and images. Adobe's configurable product guide requires every attribute used for variations to have Global scope and a Dropdown, Visual Swatch or Text Swatch input type. A configurable T-shirt with color, size and fit uses three such attributes; adding sleeve length makes four, and the setup step simply has you tick each attribute to include, with no three-attribute cap in Adobe's documentation.
Shopify models the same shirt as one product with options and variants. The variants help page sets the limits: three options and 2,048 variants per product. Four buyer choices on Shopify mean merging two into one option ("Slim / Long sleeve"), splitting the product by one choice, or using an app. The 2,048 limit itself is generous, but check that your theme and apps display large variant sets well before you rely on it.
- Bundle products: Magento lets shoppers build a set from options with their own quantities and prices. Shopify needs a bundles app for any bundle, and Google & YouTube only accept fixed bundles.
- Grouped products: a Magento grouped product lists standalone products (a cutlery set sold as knife, fork and spoon) that shoppers add individually. Shopify has no grouped type; you use a collection, a product reference metafield or an app.
- Virtual and downloadable products: Shopify handles services and digital goods through settings and apps; plan these separately if they matter to you.
Store view translations and website prices inside Shopify Markets
Magento organizes a store as a cascade: global, website, store, store view. Adobe's scope documentation describes the store as the level that sets the root category and the store view as the level for translations and currency symbol. A Dutch retailer selling in the Netherlands and Belgium might run one website with a Dutch and a French store view. Product names, descriptions and URL keys can differ per store view; prices can be global or set per website, but not per store view.
Shopify replaces that hierarchy with Markets: groups of countries with their own currency, language, domain or subfolder and catalog-based price adjustments. Translations are stored per published language and added with Translate & Adapt, CSV files or apps. Our Shopify Markets post walks through those settings. Two consequences for your data: Magento store view rows become Shopify translations, and website-level prices become market catalogs. On the SEO side, Magento's core admin has no hreflang setting for linking store views, a point covered in our Magento SEO guide.
License, hosting and agency hours: where the money goes
Shopify's costs are on one page. In US dollars, Shopify lists Basic at $39 a month on monthly billing ($29 billed yearly), Grow at $105 ($79), Advanced at $399 ($299) and Plus from $2,300. Card rates start at 2.9% + 30¢ on Basic, and if you use a third-party payment provider instead of Shopify Payments, Shopify adds 2%, 1%, 0.6% or 0.2% depending on the plan. Paid apps come on top.
Magento Open Source has no license fee, but the bill moves elsewhere: hosting sized for Magento's database and search engine, a CDN, extensions from the Commerce Marketplace, security patching, version upgrades and a developer or agency on retainer. Adobe Commerce adds a license priced by quote. We do not quote typical totals here because none of the public figures are verifiable, but the structure is clear: Shopify charges more per feature and less per hour, Magento charges less per feature and more per hour.
Developers or apps: the team each platform assumes
A Shopify store can run with merchandisers, a content editor and an agency for theme work. Most extra functionality comes from the Shopify App Store and is configured, not coded. A Magento store assumes PHP developers who understand its module system, indexers, cron and caching, plus someone who runs the servers unless Adobe hosts it. That cost buys freedom: custom checkout logic, ERP-driven pricing or a product configurator can be built into the platform rather than bolted on.
Teams sometimes underestimate the catalog side of this. On Magento, a new attribute is created in the admin and then added to each attribute set that needs it; on Shopify, it is a metafield definition that every product shows, created by anyone with access. Both approaches need an owner. Our WooCommerce vs Shopify comparison covers the same tradeoff for a self-hosted platform with a much smaller footprint.
Customer-group tier prices, shared catalogs and Shopify's three-catalog cap
Magento has had B2B building blocks in core for years: customer groups, and tier prices per website and customer group set under Advanced Pricing on each product, which export as columns such as `tier_price_customer_group` and `tier_price_qty`. Adobe Commerce B2B adds company accounts with roles, shared catalogs with company-specific prices, negotiable quotes, requisition lists, quick order and purchase order approvals. B2B for Adobe Commerce is a set of modules installed on Adobe Commerce, not part of Open Source.
Shopify includes B2B features on every plan, with companies and B2B catalogs. Its B2B plan comparison caps Basic, Grow and Advanced at three active catalogs across all B2B markets; Plus allows unlimited catalogs and can assign them directly to a company for customer-level pricing. The BigCommerce vs Shopify comparison goes deeper on Shopify's B2B plan differences. For a wholesaler with hundreds of customer-specific price lists and quote negotiation, Adobe Commerce B2B is still the fuller toolkit.
Mapping a Magento catalog onto Shopify, field by field
Moving between the platforms is mostly a remodeling job. A Magento product export has one row per product per store view, configurable parents with `configurable_variations`, grouped products with `associated_skus` and custom data packed into `additional_attributes`. Shopify's product CSV expects one row per variant with `Option1 name` and `Option1 value` columns, metafield columns named like `product.metafields.custom.material`, and it does not support variant metafields or export collections. The table shows where each Magento concept lands.
Magento export columns and their Shopify targets
| sku, name, description | SKU (per variant), Title, Description | Direct |
|---|---|---|
| url_key | URL handle, plus a 301 redirect from the old URL | Direct, redirects needed |
| meta_title, meta_description | SEO title, SEO description | Direct |
| attribute_set_code | No equivalent; use product type, category and naming | Remodel |
| additional_attributes | Typed product metafields | Remodel |
| Configurable product with up to 3 configurable attributes | One product, Option1 to Option3, one variant per child | Direct |
| Configurable product with 4 or more configurable attributes | Merge options, split the product or use an app | Rebuild |
| Attributes stored on child simples (EAN, weight) | Barcode and weight per variant; other data needs variant metafields outside CSV | Remodel |
| Bundle product (bundle_values) | Bundles app | Rebuild |
| Grouped product (associated_skus) | Separate products plus collection or product reference metafield | Rebuild |
| categories (tree) | Collections and menus, plus one Standard Product Taxonomy category | Remodel |
| store_view_code rows | Translations per published language | Remodel |
| Website-scope prices | Market catalogs with price adjustments | Remodel |
| tier_price_customer_group | B2B catalogs | Remodel |
Five places a Magento to Shopify move loses data
- Store views exported as one. Exporting only the default store view leaves every translation behind. Export each `store_view_code` and keep the rows keyed by SKU.
- Child data on simple products. Magento often holds EAN, weight and images on the child simples, not the parent. If the import only reads parents, variants arrive empty.
- Additional attributes as one text blob. `additional_attributes` packs many fields into one cell. Split it into columns and decide a metafield type for each before import, or numbers and units become text.
- GTINs that never existed as a field. Magento Open Source ships no GTIN attribute, so stores keep EANs in a custom attribute, the SKU or nowhere. Find them before a channel asks.
- URLs without redirects. Shopify handles live at /products/ paths. Without a 301 map from every Magento URL key, rankings and backlinks reset.
Magento export audit before the first Shopify import
When Magento's extra work pays off, and when it does not
- A direct-to-consumer brand with a few hundred products in size and color: Shopify. Three options cover the catalog and nobody has to run servers.
- A retailer with many product families that each need different specs: Magento's attribute sets keep data entry clean; on Shopify you manage the same structure through metafields and conventions.
- A multi-website or multi-brand operation with per-website pricing: Magento's website scope does this natively. Shopify Markets handle countries well, separate brands less so.
- A wholesaler with customer-specific prices, quotes and purchase approvals: Adobe Commerce with B2B.
- A team without developers, or one tired of upgrade projects: Shopify, or Adobe Commerce as a Cloud Service if you want to stay with Adobe.
- A store already on Magento 2.4.6 or older: decide now whether the next step is an upgrade or a re-platform, because both take months.
Moving the catalog first and the storefront second
Whichever platform you choose, the platform-neutral part is the product record: attributes with fixed types, variants with their own identifiers, and translations per language. WISEPIM's Magento 2 connection imports categories, products and configurable links, and exports names, descriptions, SEO fields, prices including tier prices, stock and images, with texts written to each mapped store view. Its Shopify connection imports products and exports by SKU, including translated titles and descriptions per locale. If you are switching platforms or replacing an older PIM, the PIM migration page shows how teams bring the data over first and change the storefront second.

