Migrate from Google Analytics to Matomo: what the move involves
A team that has decided to leave GA4 for self-hosted Matomo should plan on two pieces of work: a tracker swap, and a reporting rebuild. The Google Analytics Importer brings over aggregated report history only, so the old raw visits do not come with it, and the dashboards, goals and segments the business relies on must be recreated in Matomo. Most teams do this with their own analytics and platform staff, who own the server, the tag deployment and the reports, and some bring in an implementation partner for the server build, tag migration or the consent setup.
The effort and risk sit in three places. First, the tracking code must be replaced on every property, either by swapping the gtag snippet for the Matomo tracker or by moving tags through a tag manager, and any event names must be mapped by hand. Second, the import plugin does not carry Visitor Log, segmentation, custom reports, funnels or unique visitor metrics for non-day periods, so the team needs to decide which historical views are worth rebuilding and which are archived in GA4 exports. Third, the parallel run needs a fixed end date, so that both tools are compared on the same traffic before cutover and nobody discovers a gap after GA4 is switched off. Confirm the exact import scope with Matomo's limitations FAQ before writing the cutover plan.
On licensing, Matomo core is licensed under GPLv3, so the On-Premise Community edition carries no license fee. The costs that remain are the servers and database, the people who run upgrades and backups, and any paid premium plugin, such as the Heatmap and Session Recording plugin, which is sold under a separate commercial license. Before the move, ask which premium features the business needs, because adding them later changes the consent position in some EU markets. Ask your team to confirm the server sizing against current monthly pageviews and the Matomo version it will install, since the supported PHP and database versions differ between Matomo 5 and Matomo 6.
Which GA4 capabilities map cleanly to Matomo and which need rework
This table maps common GA4 capabilities to their Matomo equivalents and labels each as clean, needs rework or gap. Read the rework and gap rows first, because they set the scope of what you rebuild by hand and what you accept as lost history.
| GA4 capability | Matomo equivalent | Status and what to plan for |
|---|---|---|
| Page views and sessions | Page views, visits and actions reports on the Matomo site | Clean for new data after the tracker is live. Imported history arrives as aggregated daily reports, not raw visits. |
| Traffic sources and campaigns | Acquisition reports, referrers and campaign tracking | Clean for new data. Confirm that your UTM parameters are captured the same way in the Matomo tracker configuration. |
| Goals (GA4 conversions) | Goals configured in Matomo | Needs rework. Matomo's import FAQ states GA4 goals are imported without specific metrics, so recreate each goal and its rules by hand. |
| Ecommerce | Ecommerce reports, enabled through the tracker | Needs rework. Ecommerce Log does not work on imported history, so confirm which revenue reports you need and rebuild the tracking for new data. |
| Custom dimensions | Custom dimensions in Matomo | Needs rework. Define each dimension again and test it on new traffic. Custom Reports do not work on imported reports. |
| Events | Custom events in the Matomo tracker | Needs rework. Map each GA4 event name to a Matomo event category, action and name, and retag your site or Tag Manager container. |
| Segments and audiences | Segmentation | Gap for history. Segmentation does not work on imported reports, so segments only apply to data collected after cutover. |
| Funnels | No imported funnel reports | Gap. Funnels are not imported, so keep GA4 history for funnel analysis or rebuild the path with goals on new data. |
| Heatmaps and session recordings | Heatmap and Session Recording plugin | Gap without budget. This is a paid premium plugin sold per number of users under the InnoCraft EULA, not GPL. It has a 30-day free trial. |
| Google Ads integration | No direct equivalent in Matomo | Gap. Confirm with your paid media team whether Google Ads audiences and conversions must stay on GA4 or move to another workflow. |
What data moves, what stays, and which integrations to rebuild
A GA4 to Matomo move carries over aggregated report history and little else. The cards below separate what the Google Analytics Importer brings across from what stays in Google, what must be re-instrumented in your own tag, and which integrations need separate work. Confirm each item against your own property before you set a cutover date.
The Google Analytics Importer
The Matomo Google Analytics Importer is a free GPL v3+ plugin for Matomo On-Premise. It imports reports from a Google Analytics property into a newly created Matomo site, so the history lands in a fresh site rather than an existing one. Check which GA4 reports your team relies on, because the import covers aggregated reports only and GA4 goals arrive without specific metrics.
Aggregated-only history limits
The importer brings in aggregated report data, not raw visits or actions. The Visitor Log, Ecommerce Log, Custom Reports and Segmentation do not work on imported reports, unique visitor metrics are unavailable for non-day periods, and Funnels are not imported. Plan for a reporting continuity period in which these views come from GA4 or your warehouse, and tell stakeholders which dashboards will go dark.
Keep the GA4 property and BigQuery export
Raw history stays with Google unless you export it. Keep the GA4 property active and confirm whether a BigQuery export is linked, since that export is the only route to event-level history for reanalysis. Decide who owns the export, where it is stored, and how long it is retained, and document that decision before you disable any Google service.
Replace gtag with the Matomo tracker
Your pages currently load the gtag snippet, so every template that includes it needs a Matomo tracking code or a Matomo Tag Manager container instead. Remove the Google tag only after the new tracker is verified on each template, and check that custom events map to Matomo event actions. Tag rework is usually the step that takes the most effort in a site with many templates.
Consent and tracker configuration
Decide before go-live whether Matomo runs in a consent-exempt configuration or behind your consent banner. Configuration choices such as truncating IP addresses, the tracker cookie lifetime and disabling User ID, heatmaps or session recording affect that decision. Record the configuration in your privacy documentation so the setting can be reviewed later.
User ID and custom dimension mapping
GA4 custom dimensions and user ID values do not map automatically to Matomo custom dimensions. Write a mapping table that lists each GA4 parameter, its Matomo dimension and its scope, and confirm that user IDs are sent only where your privacy review allows them. Adding User ID is one of the configurations that removes the consent exemption in France, so check it against your legal position first.
Google Ads and Search Console links
Matomo does not replace the Google Ads link or the Search Console integration. Audiences exported to Google Ads and Search Console query data have to be rebuilt through separate work, such as server-side conversion uploads or a separate Search Console export, and some paid campaign attribution will stop updating. Confirm with your marketing team which of these links must survive and budget that work as its own item.
The migration sequence from inventory to decommission
This sequence moves measurement from GA4 to self-hosted Matomo in controlled stages, so each change is tested against known numbers before the production tag is switched. Each step produces a named artifact that the next step depends on.
Inventory GA4 properties, events and reports
Analytics, marketing and product owners list every GA4 property, data stream, custom event, conversion, custom dimension and report that people rely on, and record which pages carry the gtag snippet or Google Tag Manager container. Include consent tooling and any Google Ads or Search Console links, since those will need a separate decision. Done when the tracking plan lists each item with an owner, a business use and a keep, rebuild or retire decision.
Pilot the Matomo tracker on one site
Install a self-hosted Matomo On-Premise instance in your own infrastructure, create one non-production or low-risk site, and add the Matomo tracking code directly or through Tag Manager. Rebuild the priority goals and custom dimensions from the tracking plan and confirm that pageviews, goal conversions and referrers arrive as expected. Done when the pilot site shows a documented set of test journeys recorded correctly, and the team has agreed the consent and IP handling settings in writing.
Run the Google Analytics Importer into a new site
Install the free Google Analytics Importer plugin and import historical reports from the GA4 property into a newly created Matomo site, so the imported history stays separate from live data. Note what does not arrive: the Visitor Log, Ecommerce Log, Custom Reports, Segmentation, Funnels and unique visitor figures for non-day periods. Done when the imported report set is saved as a reference document, with each report marked as imported, partial or not carried over.
Reconcile imported and pilot reports
Compare the imported GA4 reports for an agreed overlap period with the same reports in Matomo, and record variances in sessions, pageviews, sources and goal counts. Explain differences caused by bot filtering, consent-dependent collection, time zones and the aggregation of imported data. Done when the reconciled report set has a signed variance note from the analytics owner, and the team agrees which Matomo figures become the source of truth.
Run both tools in parallel
Deploy the Matomo tag to production alongside the existing GA4 tag, so both tools collect the same visits for a period the team agrees in advance. Check tag firing on key templates, goal triggers and the consent flow on each release, and log every discrepancy with its cause. Done when parallel collection has produced stable, explained differences and the open issues list has no unresolved tracking defects.
Cut over the production tag
Switch the production tag management configuration so Matomo becomes the primary collector, update dashboards and reporting links, and brief the teams that consume the reports. Keep the GA4 property readable for reference. Done when a signed-off cutover checklist confirms the tag change, the dashboard migration, the consent configuration, and the named owner for each report.
Decommission GA4 tags and retain exports
Remove the GA4 tags from the site and tag manager containers, confirm that no page still sends events to Google, and export the data your records policy requires before the GA4 property is closed. Revoke linked integrations and document the retention decision in the data register. Done when a decommission record shows zero GA4 tag hits in a final check and the archived exports are stored under your own retention rules.
Running Matomo and GA4 side by side before cutover
Run Matomo and GA4 in parallel for a full reporting cycle before you switch off the Google tag, because the two tools will not agree on the same numbers. The Google Analytics Importer copies aggregated report data from the GA4 property into a new Matomo site, while the Matomo tracker counts live hits from the day you deploy it. Imported history and live tracking therefore differ in definition and in granularity. Before cutover, reconcile pageviews, visits and top landing pages by period (for example, one matching calendar month), and document each known difference in a short reconciliation sheet that finance, marketing and the compliance owner can all read. Confirm in the importer documentation which metrics are unavailable for non-day periods, since unique visitor counts are one example.
Plan the Matomo server before you deploy the tracker in parallel, because the tracker and the importer both load the same instance. Matomo 5 runs on PHP 8 with MySQL 5.5 or later or MariaDB, behind a web server such as Apache or Nginx. Matomo 6.0.0 needs PHP 8.1 or newer and MySQL 8.0 or newer or MariaDB 10.6 or newer, so check which major version you will deploy against the requirements FAQ. Matomo's requirements guidance sizes a single server with at least 4 CPUs, 8 GB of RAM and 250 GB of SSD for up to 1 million pageviews a month, and recommends separate app and database servers with 8 CPUs and 16 GB of RAM each for up to 10 million pageviews a month. Measure your current monthly pageviews in GA4 before choosing a tier, and ask your infrastructure team to confirm the storage growth for the parallel period.
The latest stable version listed in Matomo's changelog is 5.14.1, with Matomo 6.0.0 in beta, so confirm the exact release you will deploy on the changelog on the day you install it. Pin that version in your deployment definition and record it in the change ticket, because the importer, your PHP and database versions and the tracker configuration must all be tested against it. Schedule the parallel run only after a staging install has completed a test import and a sample reconciliation.
How the migration differs by traffic, team and starting point
A single marketing site on standard GA4 is usually the smallest migration. The core job is replacing the gtag snippet or Google Tag Manager container with the Matomo tracker, then deciding how much history to bring across. The Google Analytics Importer copies aggregated reports into a new Matomo site, so traffic, sources and top pages can stay visible for comparison, but the raw visit detail does not come with it.
- Tracking code: Replace the gtag snippet or the GA4 tag in Tag Manager with the Matomo tracker, and confirm that pageviews and key events fire on the same pages.
- Goals: Recreate the conversions your marketing team reports on. Matomo's limitations FAQ notes that GA4 goals are imported without specific metrics, so expect to define them again.
- Reports: Check which standard reports the team actually opens each week. Those are the views to rebuild first.
- Google Ads links: If paid search depends on GA4 audiences or conversion import, confirm whether that stays on Google's side.
Effort here is driven mainly by the number of tags, goals and campaign naming conventions that need checking. Ask your implementation partner to list every GA4 event used by marketing before work starts, and confirm which Google integrations you still need.
A multi-site or ecommerce operation usually relies on GA4 Explorations, custom segments and a BigQuery export feeding other systems. This is where the migration changes most, because the importer does not carry the raw data those workflows depend on. Matomo's Visitor Log, Ecommerce Log, Custom Reports and Segmentation do not work on imported reports, and Funnels are not imported.
- Explorations: Funnels, path analysis and segment comparisons built in GA4 must be rebuilt from scratch, or moved to a warehouse tool that reads your own event data.
- BigQuery consumers: Identify every dashboard, model and job that reads the export. Those pipelines need a new source, and the export history stays in Google's environment unless you keep it.
- Site structure: Map each domain, subdomain and store to its own Matomo site, and decide whether cross-domain tracking is required.
- Ecommerce data: Confirm how orders, revenue and product data are sent, since the Ecommerce Log will not show imported history.
The effort scales with the number of sites, the number of reports consumed outside GA4, and how much of the team's analysis lives in Explorations. Ask for a written inventory of these dependencies before any cutover date is set.
An EU organization migrating for data residency or consent reasons faces a different set of decisions. The CNIL's conditions for exemption from consent are narrow: audience measurement only, a single publisher scope, no cross-checking with other processing, truncation of the last byte of the IP address and a tracker lifetime of at most 13 months. Matomo's ePrivacy FAQ states that adding features such as User ID, heatmaps or session recordings removes the exemption, so the configuration itself is part of the migration scope.
- Feature audit: Turn off or avoid User ID, heatmaps and session recording if you want to keep the exemption, and document that decision.
- Tracker settings: Configure IP truncation and cookie lifetime to match the CNIL conditions, and check them against the current sheet.
- Other authorities: Matomo's FAQ says Italy, the Netherlands and Spain are generally advised to follow the CNIL configuration, so confirm the local rules for each market you serve.
- Existing consent tooling: Decide whether the consent banner is still needed for other trackers on the same site.
The effort depends on how many features the team wants to keep and how many countries are in scope. Ask your legal and privacy team to confirm the exemption position in writing, since the decision rests with the organization and its regulator.
What drives the cost and duration of the move
This table breaks the move from GA4 to self-hosted Matomo into its cost components, showing who is paid, whether each cost is one-time or recurring, and what pushes it up or down. Use it to build your internal estimate and to check that a fixed-scope quote covers each line.
| Cost component | Who is paid or who spends time | One-time or recurring | What drives it up or down |
|---|---|---|---|
| Internal staff time for the move | Your analytics, marketing and engineering staff | One-time | Number of sites, tag count, custom dimensions and goals to rebuild, and how many teams must sign off on reports |
| Server and database hosting | Your cloud provider or data center team | Recurring | Monthly pageviews. Matomo's requirements FAQ sizes one server for up to 1 million pageviews a month and separate app and database servers for up to 10 million |
| Backups, upgrades and patching | Your operations team or a retained support provider | Recurring | Frequency of Matomo and PHP or database upgrades, backup retention and how many environments you keep (test, staging, production) |
| Premium plugin licenses | InnoCraft, for Matomo's Heatmap and Session Recording plugin, sold per number of users | Recurring (per license terms) | Whether you need heatmaps or recordings at all. Matomo's ePrivacy FAQ notes these features can remove the consent-exemption eligibility, which may add consent tooling. Check current figures on the Matomo pricing page |
| Consent setup and review | Your legal or privacy team, and your developers for the tag configuration | One-time setup, then periodic review | Whether you need a consent banner at all, the CNIL conditions you must meet, and any non-French audiences that follow other national rules |
| Implementation services | A provider such as DeployOpen, under a fixed-scope written agreement | One-time (optional ongoing retainer) | Scope of tag migration, import work, parallel-run testing and documentation. Ask for scope, deliverables and timelines in writing before work starts |
| Parallel running period | Your teams running GA4 and Matomo side by side | One-time, but adds recurring hosting during overlap | Length of the overlap you choose before cutover and the number of reports that must match before you switch |
| Loss of raw history | Your analysts, who rebuild reports from aggregated data | One-time effort, no direct fee | Dependence on Visitor Log, segments, funnels or unique visitor metrics for the imported period. Matomo's import FAQ lists these limits |
What usually goes wrong and how to prevent it
Most failed Matomo migrations do not fail at installation. They fail when the imported history is trusted for analysis it cannot support, when data is lost before export, or when the tracker is configured in a way that changes its legal and technical footing. The cards below cover the six risks we see most often and the check that prevents each one.
Assuming imported history supports segments
The Google Analytics Importer brings over aggregated reports only. Visitor Log, Ecommerce Log, Custom Reports and Segmentation do not work on imported periods, and Funnels are not imported. Before cutover, list every report your analysts rely on and mark which ones exist as aggregates. Tell stakeholders in writing that pre-migration segment analysis stays in GA4 or an export archive.
Losing GA4 history before export
Google states that Universal Analytics data became permanently deleted after access ended the week of July 1, 2024, so any Universal Analytics history is already gone unless it was exported. For GA4, decide what must be kept as files or in a warehouse before the importer runs. Confirm the export route and its limits with Google for your property type, and store the export with a documented owner and retention period.
Tag gaps on single-page apps
Matomo's JavaScript tracker records a pageview on load, so route changes in single-page applications are missed unless the tracker is told about them. Pages that never fire a tracking call will show as zero traffic in Matomo while GA4 still reports them. Test each route, form submission and virtual pageview in a staging environment, compare against GA4 Realtime, and add the Matomo tracking calls to your release checklist.
Consent setup that removes the exemption
CNIL's conditions for exemption cover purposes, scope, IP truncation and a tracker lifetime of at most 13 months. Matomo's ePrivacy FAQ states that adding User ID, heatmaps or session recordings removes the exemption. Keep the configuration to audience measurement, and before enabling any premium plugin such as Heatmap and Session Recording, have counsel confirm whether consent is required for that feature. Document the configuration as evidence.
Unreconciled counts during parallel run
Running Matomo and GA4 side by side will show different numbers, because the tools count visits, sessions and bots differently and apply different filters. Without an agreed reconciliation, teams will spend weeks arguing about which tool is right. Pick a fixed set of KPIs, such as daily pageviews and top landing pages, agree an acceptable variance with the business owners before the parallel period starts, and record the reasons for each gap.
Underpowered servers at launch
Matomo's requirements FAQ sizes a single server with at least 4 CPUs, 8 GB of RAM and 250 GB of SSD for up to 1 million pageviews a month, and recommends separate app and database servers with 8 CPUs and 16 GB of RAM each for up to 10 million pageviews a month. Size from your measured pageview volume, not from the average, and load-test archiving before peak campaigns. Ask your hosting team for a quote that states the hardware, backup and patching assumptions.
Questions teams ask before moving from GA4 to Matomo
How much effort and time does a move from GA4 to Matomo take?
The effort depends mainly on how many sites, tags, goals and reports you need to rebuild, how many people consume the reports, and whether your team already runs PHP and MySQL or MariaDB servers. Installing Matomo is the smaller part. Most of the time goes into tracker or Tag Manager changes, rebuilding goals and dimensions, and a parallel run before cutover. The exact duration is not something a published fact sets for you, so ask any provider, including DeployOpen, to break the estimate into those phases and tie it to a written scope before work starts.
Can our own team do the migration without outside help?
A team with web and server administration skills can usually install Matomo and replace the GA4 tag itself, since Matomo is GPL v3 licensed and the On-Premise Community edition is free to use. Outside help becomes useful when you need server sizing, hardening, backups, upgrades, consent configuration checked against CNIL's conditions, or a documented parallel run. DeployOpen plans, implements, hardens, backs up and documents self-hosted platforms in your own infrastructure under fixed-scope engagements, so the question is which parts you want to keep in-house.
What does the migration need from our team?
Plan for access and decisions from several people: a web owner who can change the site or Tag Manager container, a platform engineer who can provision the server, a data owner who signs off on which reports and goals must be rebuilt, and a privacy or legal contact for the consent position. Matomo On-Premise sizing guidance starts at 4 CPUs, 8 GB of RAM and 250 GB of SSD for up to 1 million pageviews a month, and separate app and database servers with 8 CPUs and 16 GB of RAM each for up to 10 million pageviews a month, according to Matomo's requirements FAQ. Confirm your monthly pageviews before sizing.
What history carries over from GA4 into Matomo?
Only aggregated report data carries over. The Matomo Google Analytics Importer, a free GPL v3+ plugin, imports reports from a GA property into a newly created Matomo site, but it does not import raw visits. As a result the Visitor Log, Ecommerce Log, Custom Reports and Segmentation do not work on imported history, unique visitor metrics are unavailable for non-day periods, and Funnels reports are not imported. GA4 goals come across without specific metrics, according to Matomo's import limitations FAQ. Plan to keep GA4 or an export archive for any analysis that needs raw events.
Is Matomo free to run, and what do we still pay for?
The On-Premise Community edition is free with unlimited users and hits, and Matomo's pricing page lists forum support for it, according to Matomo's pricing page. Recurring costs are the servers, storage, backups, time spent on upgrades and security patching, and any paid support or premium plugins. Matomo's Heatmap and Session Recording plugin is a paid premium plugin sold per number of users under the InnoCraft EULA, with a 30-day free trial, according to its marketplace listing. Ask for a quote that itemizes infrastructure, one-time setup and recurring operations separately.
What happens to our Google Ads link when we move to Matomo?
Matomo does not replace the Google Ads link that GA4 provides. Any campaign reporting that depends on GA4 audiences or Google Ads conversion linking will stay on Google's side, so most teams keep GA4 running for paid media or keep a Google tag for advertising alongside Matomo. Confirm with your paid media team which audiences and conversions must still reach Google, and check that any remaining Google tag is covered by your consent setup before cutover.
Does a self-hosted Matomo avoid the consent requirement under French rules?
Not automatically. France's CNIL sets conditions for analytics trackers to be exempt from consent, including limiting purposes to audience measurement and A/B testing, a single publisher scope, no cross-checking with other processing, truncating the last byte of the IP address, and a tracker lifetime of at most 13 months, according to CNIL sheet 16. Matomo's FAQ says features such as User ID, heatmaps or session recordings remove the exemption. Confirm each setting against the CNIL sheet with your privacy counsel before relying on the exemption.
Consent and data residency after the switch
Self-hosting Matomo does not by itself remove the consent question. France's CNIL lets some audience measurement run without a consent banner only when every condition in its sheet 16 is met: the purpose is limited to audience measurement and A/B testing, the tracker serves a single publisher, the data is not cross-checked with other processing, the last byte of the IP address is truncated, and the tracker lifetime is at most 13 months. Before cutover, check each of these in the Matomo configuration: the tracking code in the site template, the IP anonymization setting, the cookie lifetime, the retention period for raw data, and whether any Tag Manager tag or plugin sends data elsewhere. Adding User ID, heatmaps or session recordings removes the exemption, so a team that enables the paid Heatmap and Session Recording plugin should expect to need a consent flow for those pages.
CNIL's position is that most large audience measurement offerings do not qualify for the exemption regardless of how they are configured, which is why it points publishers toward open-source software they can configure themselves. Matomo's ePrivacy FAQ says France, Italy, the Netherlands and Spain each exempt certain privacy-focused analytics from consent when their criteria are met, and it suggests following the CNIL configuration for Italy, the Netherlands and Spain. Confirm the national rules for every country where you collect data, because a configuration accepted in France is not automatically accepted elsewhere. Ask counsel to confirm the exemption position in writing, and record the configuration you tested so that a later change can be reviewed against it.
Data residency is a separate question from consent. Self-hosting keeps Matomo's raw visit data in the servers you choose, but it does not decide where the import source sits. The Google Analytics Importer reads reports from GA4 during the migration, so the transfer question for that step is governed by the terms and the data transfer framework you rely on at that time. The European Commission's adequacy decision for the EU-US Data Privacy Framework, decision 2023/1795, applies to US companies that participate in the framework. Confirm with counsel whether your transfer basis still covers any export you make, and delete or restrict any GA4 data you no longer need once the import is verified.
What the team should decide before the first step
Four choices shape the Matomo migration more than the installation itself. Each one changes what gets installed, what gets imported and who signs off on the result, so settle them in writing before anyone touches the tag.
Keep GA4 for Google Ads
Google Ads conversion tracking and audience linking depend on the Google tag and GA4 properties, and Matomo does not replace them. Decide whether paid search keeps a GA4 property (or only the Google Ads tag) alongside Matomo, so that conversion numbers in each tool can be explained. Confirm with the marketing lead which conversions must still reach Google Ads and how those events will be sent.
Heatmaps and recordings needed
Matomo's Heatmap and Session Recording plugin is a paid premium plugin sold per number of users under the InnoCraft EULA, not the GPL, and it comes with a 30-day free trial. Adding heatmaps, session recordings or User ID also removes the consent exemption in the CNIL configuration. Decide now whether these features are needed, because they change both the licensing budget and the consent position.
Server model and Matomo version
Matomo 6.0.0 requires PHP 8.1 or newer and MySQL 8.0 or newer, or MariaDB 10.6 or newer, while Matomo 4.16 and 5 run on older MySQL and MariaDB releases. Choose a single server or split app and database servers based on expected monthly pageviews, and confirm the current stable release on the changelog before you install. Pick the version once and document the upgrade path.
Tag governance ownership
Someone must own the tracking code, the Tag Manager container, the list of goals and dimensions, and the approval of changes that affect consent. Without a named owner, duplicate GA4 and Matomo tags tend to fire side by side and skew both datasets. Assign an owner for each item and agree who reviews a change before it goes live.
Retention and history scope
The importer brings over aggregated reports only, so the Visitor Log, segmentation and Funnels reports will not hold the GA4 history. Decide how much history is worth importing and which reports the business must still see after cutover. Keep a dated export of GA4 reports that you need for audits or year-on-year comparisons, since Google's own retention limits apply to unexported data.
How DeployOpen scopes and runs the Matomo migration
DeployOpen is a Chainscore Labs company that plans, implements, integrates, hardens, backs up, upgrades, documents and supports self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For a GA4 to Matomo move, we start from a written scope that defines which sites, data and reports are in play, then build and hand over a Matomo instance you control.
How we scope
- Inventory every GA4 property, data stream, goal and custom dimension that the Matomo site must replace.
- Record which reports need aggregated history and which need raw events that the importer cannot carry.
- Agree in writing where Matomo will run, which hosting region applies and how the server sizing is set against pageview volume.
How we build
- Install Matomo On-Premise on your servers with a separate database host, then configure the tracker or Tag Manager container.
- Run the free Google Analytics Importer into a newly created site and check imported totals against GA4 for the same date ranges.
- Rebuild goals, event tracking and consent settings, and test that the tracker collects only what your scope allows.
How we hand over
- Deliver a written record of the configuration, the import results, the known gaps and the tracking changes made on each site.
- Run both GA4 and Matomo in parallel for the period agreed in the scope, then document the cutover checks and sign-off.
- Train your team on daily reporting, user management, backups and the upgrade steps for future Matomo releases.
How we support
- Ongoing support, upgrades and continuous testing are available as a retainer after the handover.
- Include a backup and restore test for the Matomo database as part of the agreed deliverables.
- Confirm with DeployOpen, before work starts, which premium Matomo plugins are in scope and which are excluded.

