Use case

How to list the companies that recently switched ecommerce platforms

Each commerce platform replaced on a company website is one dated event. Here is the query that lists them, three tests that keep second storefronts and reversals out, and how lookups and filings compare.

11 min read

To find companies that recently switched ecommerce platforms, work from dated events and not from two snapshots of who runs what. This guide gives the query that lists every company whose commerce platform changed in a window you set, the tests that tell a migration from a second storefront, and a worked example to check your own figures against. The output is the list itself: company, platform before, platform after and the date observed.

How do you find companies that recently switched ecommerce platforms?

You find companies that recently switched ecommerce platforms in a record of dated platform changes. In Fokals data that record is Technology Changes: when one commerce platform replaces another on a company website, one event is written with the platform before, the platform after and the time the change was observed. Filter those events to your window.

Technology Changes (company_tech_events) belongs to the marketing stack dataset. It holds a dated event for every adoption, removal and platform migration. Four groups of columns carry a migration, and the data dictionary defines them.

ColumnWhat it holds for a platform migration
observed_atThe time the change was observed, in UTC
categoryplatform: a commerce or content platform replaced
before, afterThe platform that left and the platform that took its place, as JSON values
company_id, companyThe company, beside the listing identifiers of a listed company or its parent

Three properties decide how the list reads.

  • One event for one replacement. A platform removed while another appears is recorded once, as a pair. The matching of a removal to an addition, which the guide to competitor displacement does for ordinary tools, is already done.
  • A first observation is a baseline. A website observed for the first time shows its stack and writes no event, so a company new to the index never enters the list as a switcher.
  • The date is the observation. The dataset is refreshed daily to weekly, depending on the company. Treat observed_at as the latest date the change can have happened, and set windows in weeks.

Platform events cover the commerce and content platforms that Technology Stack marks fokals in technology_catalogue. A platform from the wider catalogue appears in the same dataset as an ordinary added or removed technology event.

The query: every commerce platform change in a window

Start by reading what your delivery holds. This query prints each pair of platforms and the number of events behind it.

-- PostgreSQL. before and after are JSON values: #>> '{}' reads one as text.
select before #>> '{}' as platform_before,
       after  #>> '{}' as platform_after,
       count(*)        as events
from company_tech_events
where category = 'platform'
group by 1, 2
order by events desc;

Check the values it prints against the technology column of Technology Stack (company_technologies), which holds the stable technology id: the queries below join the two datasets on those values. The pairs mix commerce and content platforms. To keep the commerce ones, look up one commerce platform from the pair list in Technology Stack, read its technology_category, and pass that value as :commerce_category.

with commerce as (
  select distinct technology
  from company_technologies
  where technology_category = :commerce_category
)
select e.company_id, e.company, e.observed_at,
       e.before #>> '{}' as platform_before,
       e.after  #>> '{}' as platform_after
from company_tech_events e
where e.category = 'platform'
  and e.observed_at >= timestamptz '2026-07-01'
  and e.observed_at <  timestamptz '2026-10-01'
  and e.after #>> '{}' in (select technology from commerce)
order by e.observed_at;

Save the result as a table of your own, platform_moves. Each row is one website whose platform was replaced, so a company with two storefronts that both moved appears twice: count rows as storefronts and distinct company_id values as companies. For one direction, filter both sides: Magento to Shopify and Shopify to Magento are opposite pairs in the same table.

How to tell a migration from a second storefront

A migration replaces the platform on a website. A second storefront adds a website, or adds a platform beside the one in place, and replaces nothing. The event record keeps most second storefronts out by construction, and Technology Stack settles the rest, with one row for each company website and technology and its first-seen and last-seen dates.

What the record showsReadingIn the list?
A platform event, and the old platform on no website of the company afterwardsA migrationYes, dated by the event
A platform event, and the old platform still seen on another website of the companyOne storefront of several movedYes, marked partial
A platform event, then the old platform added back within 30 daysA reversal: a trial or a rollbackHeld out
A second commerce platform added while the first stays, and no platform eventA second storefront, or a migration still running in parallelA watch list. A later platform event marks the cutover
A new website of the company on a different platformA new storefront, whose first observation is a baselineNo. It appears in Technology Stack as another website

The last two rows are why two snapshots mislead: a company that shows a second platform this quarter has added something, and only an event says whether anything was replaced. One query runs the tests for the first three rows against platform_moves.

select m.company_id, m.company, m.observed_at,
       m.platform_before, m.platform_after,
       (select max(a.observed_at)
          from company_tech_events a
         where a.company_id = m.company_id
           and a.category = 'technology'
           and a.change = 'added'
           and a.key = m.platform_after
           and a.observed_at <= m.observed_at) as new_platform_added_at,
       exists (
        select 1
          from company_tech_events r
         where r.company_id = m.company_id
           and r.category = 'technology'
           and r.change = 'added'
           and r.key = m.platform_before
           and r.observed_at >  m.observed_at
           and r.observed_at <= m.observed_at + interval '30 days'
       ) as reversed,
       (select count(distinct s.domain)
          from company_technologies s
         where s.company_id = m.company_id
           and s.technology = m.platform_before
           and s.last_seen_at > m.observed_at) as sites_still_on_old
from platform_moves m;
  • reversed is true when the old platform has an added event within 30 days after the platform event. Hold those rows out.
  • sites_still_on_old counts the company's websites where the old platform was seen after the event. With reversed false and a count above zero, another storefront still runs the old platform, and the move is partial.
  • new_platform_added_at is the time the new platform was observed arriving. The days between it and the platform event are the days both platforms were in view: a few days reads as a cutover, and months read as a second storefront that later became the only one. An empty value means the new platform was already there at its baseline. For a company with several websites, confirm the dates for each website in Technology Stack.

For the watch list, look in Technology Stack for a website that carries two of your commerce platform ids at once. A row whose missing_since is set is a platform absent from recent observations and not yet counted as removed, so where the other platform is present, treat it as a cutover to confirm.

A worked example: one quarter of platform changes on an account list

Assumptions:

  • Acme Robotics is an invented company and every figure below is invented. The example is illustrative.
  • Your list holds 5,000 retail accounts matched to company IDs.
  • The window is the third quarter of 2026: observation times on 1 July to 30 September, UTC.
  • A reversal is the old platform added back within 30 days of the event. The tests run on 31 October, so every event has had its 30 days.
  • Your product installs on one commerce platform, called the target below.

Working:

  1. The window query without the commerce filter returns 60 platform events on accounts in your list. The filter keeps 44 and leaves out 16 content platform changes.
  2. The reversal test marks 4 of the 44, which leaves 40. The reversal rate is 4 in 44, or 9.1 percent.
  3. The website test finds the old platform on another website for 6 of the 40. Those are partial moves, 15 percent, and 34 remain as whole migrations.
  4. Of the 34, 19 moved onto the target, 10 moved off it and 5 moved between two other platforms.

The list a rep should see holds 34 rows, which is 0.68 percent of the 5,000 accounts, or 6.8 in every 1,000 for the quarter. The raw count of 60 is 76 percent higher. Acme Robotics is one of the 34, and its row reads as follows.

FieldValue
Platform event observed18 August 2026
Platform before and afterMagento, then Shopify
New platform observed arriving4 August 2026, 14 days earlier
Old platform added back by 17 SeptemberNo
Websites still on the old platform0
ReadingA whole migration after two weeks with both platforms in view

If the target is Shopify, Acme Robotics is one of the 19 accounts that can now use your product. Check the 10 that moved off the target against your customer list, as the guide to churn risk from technology removals describes. The 6 partial moves go on the watch list with their remaining websites.

Tools that detect an ecommerce platform migration from Shopify to Magento

Tools that detect an ecommerce platform migration, from Shopify to Magento or the other way, work at three levels. A website lookup profiles one site, some with each technology's detection dates. A comparison report sets two platforms side by side across sites. A dated change feed records each migration as one event, with the platform before and after.

ToolWhat its own documentation says it doesHow a platform migration reads in it
BuiltWith technology lookup and Domain APIReturns the technology information of a website, with the date each technology was first and last detectedThe earlier platform's last-detected date and the new platform's first-detected date
BuiltWith Pro Competitor Comparison reportTakes a main technology and any number of comparison technologies, and reports the gains, the losses, the churn and the risk of churn between themShopify as the main technology and Magento as the comparison shows the movement in both directions
Wappalyzer technology lookupShows what a website is built with, ecommerce platforms included, for one domain or an uploaded list, with results in CSV and JSONThe platform in each site's result, so two runs on one list show the sites that changed
Wappalyzer website alertsMonitors the websites you choose for technology changes, migrations among themAn alert on a tracked site when its stack changes
Fokals Technology ChangesA dated event for every platform migration on a company website, with the platform before and after, on a stable company IDOne row for each migration, filtered by window and direction

A lookup answers a question about an account you already have in mind. A comparison report and a change feed answer the question this guide starts from: which companies moved, across a market. The guides to BuiltWith alternatives and Wappalyzer alternatives set the products side by side.

BuiltWith technology lookup: reading an ecommerce platform history for a Shopify migration

A BuiltWith technology lookup profiles one website, and its Domain API returns the same technology information with the date each technology was first and last detected. In that ecommerce platform history a Shopify migration reads as two entries: the earlier platform with a last-detected date, and Shopify with a first-detected date close to it.

Three pages of BuiltWith's own documentation describe that history. The Domain API reference lists a first-detected and a last-detected date on every technology, a filter by date range on each of the two, and an option that returns only the technologies considered live. The list of exportable fields gives the same two dates on a report, as First Detected and Last Found. The use cases page describes lists of sites using an ecommerce technology such as Shopify, Magento or WooCommerce, and Competitor Comparison Reports for seeing who moved between technology platforms.

To read a Shopify migration there, find the platform whose last-detected date has stopped advancing, then Shopify's first-detected date. The two dates bound the move. The same move in Technology Changes is a single row: a platform event whose after value is Shopify, with its observation time and the company ID that joins it to every other dataset.

Ecommerce brands that migrated or replatformed to Shopify in 2026: a migration case study or a list

Ecommerce brands that migrated or replatformed to Shopify in 2026 can be found two ways. A migration case study or a company's own filing names one brand, once its move is complete. A dated event list names every observed move: filter platform changes to those whose new platform is Shopify and whose observation time falls in 2026.

For companies that file with the US Securities and Exchange Commission, the first route is public. The SEC's full-text search covers the full text of electronic filings since 2001, attachments included, and takes an exact phrase in quotation marks. On 7 October 2026 two phrases, limited to filings dated in 2026, returned these documents.

  • "migrated to Shopify" returned one document: the annual report to shareholders of Bark, Inc., filed on 12 February 2026 for the fiscal year ended 31 March 2025. The report states that in fiscal 2025 the company migrated to Shopify and brought five separate properties under one domain.
  • "migration to Shopify" returned three documents, all from Feel The World, Inc., which does business as Xero Shoes. Its annual report on Form 1-K, filed on 25 September 2026 for the year ended 31 December 2025, states that during 2025 it finished moving its direct-to-consumer websites from WooCommerce to Shopify.

On the same day the full-text search returned no document for the word "replatform" with the name Shopify: we found no filing dated in 2026 that holds both.

Two things in those documents bear on a list. Both were filed in 2026 and describe moves made in an earlier financial year, so a filing confirms a migration in the company's own words and an observed event dates it. And both concern more than one property, five folded into one domain in the first and websites in the plural in the second, which is why the tests above count websites as well as companies.

For the list, run the window query over the year and keep the rows whose platform_after is the value the pair query prints for Shopify. For a company's own account of its move, join the rows to Company News (company_news), in the announcements and scale dataset, and keep the announcements near the event that name the platform.

select m.company_id, m.company, m.observed_at,
       n.at, n.title, n.url
from platform_moves m
join company_news n
  on n.company_id = m.company_id
 and n.at between m.observed_at - interval '90 days'
              and m.observed_at + interval '90 days'
where m.platform_after = :shopify_id
  and (n.title ilike '%shopify%' or n.excerpt ilike '%shopify%');

A checklist before the list reaches a rep

  1. Run the pair query and write down the values it prints for the commerce platforms you care about.
  2. Fix the window on observed_at, in whole weeks and in UTC.
  3. Hold each event for 30 days, or mark it provisional, until the reversal test has run.
  4. Split whole migrations from partial moves, and report storefronts and companies as two counts.
  5. Keep the direction. platform_before and platform_after decide which play an account gets.
  6. Set your count against a base rate. In Market Series the replatformed family gives the websites that changed platform per 100 websites, over 7, 30 and 180 days, on a same-store cohort.
  7. Join to your CRM on company_id or the domain, and carry the observation date on every row, so a rep says this quarter and never today.

Technology Changes and Technology Stack are delivered by REST API or as bulk files. The feed of website changes runs oldest first from a time you set, so the last cursor is the bookmark for the next pull, as the guide to incremental sync shows. The methodology states the rules for changes.

Frequently asked questions

How can I check whether one company changed its ecommerce platform?

Look the website up. A technology lookup such as BuiltWith's profiles one site, and its Domain API gives each technology a first-detected and a last-detected date, so a platform that stopped and another that started mark the change. In Fokals data, filter Technology Changes to the company and read its platform events, each with the platform before, the platform after and the time it was observed.

What is the difference between a replatform and a second storefront?

A replatform replaces the commerce platform on a website: the old one goes and another takes its place, which Technology Changes records as one platform event. A second storefront adds a website, or a platform beside the one already there, and replaces nothing. In Technology Stack it shows as two websites of one company, or as two commerce platforms on one website, each with its own first-seen date.

How soon after a migration does a platform change appear in the data?

Technology Changes is refreshed daily to weekly, depending on the company, and each event carries the time it was observed. Read that time as the latest date the move can have happened. The adoption event of the new platform dates its arrival, and the days between the two show how long both platforms were in view. Set your windows in weeks.

Can the same query find companies that moved from Shopify to Magento?

Yes. Each platform event holds the platform before and the platform after, so direction is a filter on the same rows. Set the before value to Shopify and the after value to Magento for one direction, and exchange them for the other. Run the pair query first, to see the value your delivery holds for each platform.

How many companies switch ecommerce platform in a quarter?

It depends on the industry and the period, so read it from a series. Market Series carries a weekly series of the websites that changed commerce or content platform, per 100 websites, over 7, 30 and 180 days, by industry and country, on same-store cohorts. Set the rate of your own list beside the series for its industry.

The queries and code on this page are examples to adapt. Test them in your own environment before you rely on them.

What this page says about the products it names was checked against their public documentation on 7 October 2026. Product and company names are trademarks of their owners. Fokals is not affiliated with them or endorsed by them.