WolfSellers — Adobe Experience Cloud Partner en México

Article

Quebec's Bill 96: French Requirements for Ecommerce

What Quebec's Bill 96 requires of an online store and how to implement it in Adobe Commerce: French store view, hreflang, emails, contracts and common mistakes.

By WolfSellers··14 min read
Quebec's Bill 96: French Requirements for Ecommerce
On this page

Quebec is Canada's second-largest province by population and by consumer spending, and it is the only jurisdiction in North America where the language of your online store is a legal obligation with penalties attached. This is not a courtesy to the local market or a conversion optimization: the Charter of the French Language, as reformed by what everyone still calls Bill 96, requires commercial content to be available in French on terms no less favourable than in any other language. And it applies even to companies with no office and not a single employee in the province.

That last point is what surprises nearly every team we work with. A brand in Chicago or Mexico City shipping to Montreal from its usual warehouse is, generally speaking, within scope. At WolfSellers we see two equally expensive reactions: ignoring it until a complaint arrives, or "solving" it with a machine-translation widget that does not comply and destroys the SEO of the French version in the process.

This article covers what the law asks for, how to implement it properly in Adobe Commerce (formerly Magento) with a multi-store architecture, and which mistakes keep repeating. It is part of the content cluster behind our Adobe Commerce partner hub for Canada, alongside the Canadian ecommerce stack guide and the technical note on GST, HST, PST and QST.

One necessary caveat before we start: this is not legal advice. We explain the technical implementation and the architectural decisions we apply on real projects. The exact scope for your business — your product mix, your channels, your presence in the province, your registered trademarks — needs to be validated by a lawyer practising Quebec law. The rules have moved several times since 2022 and continue to be refined by regulation.

What Bill 96 is and who it applies to

Bill 96 was the legislation that became Law 14 in June 2022, substantially reforming the 1977 Charte de la langue française — the statute most people know as Bill 101. It is not a separate new law: it is the update to Quebec's language regime, which is why the obligations that matter for ecommerce are cited as sections of the Charter rather than of Bill 96.

The regulator is the Office québécois de la langue française (OQLF), which handles complaints, investigates and can impose penalties. Fines for corporations generally fall in the range of CAD 3,000 to 30,000 per violation, doubled for repeat offences. In practice, the immediate risk for an online store rarely starts with a fine: it starts with a consumer complaint, followed by an OQLF notice giving you a deadline to fix it.

On territorial reach, the relevant test is commercial activity directed at Quebec consumers, not where the company is domiciled. Even if your operation sits outside the province and outside Canada, if you sell to Quebec residents you should assume you are within scope and confirm it with local counsel. That is the opposite of the reasoning most teams apply — "we have no Canadian entity, this doesn't touch us" — and the reason this topic shows up late and in a hurry on so many projects.

One calendar point worth knowing: on 1 June 2025 the provisions on product and packaging inscriptions and on public signage and commercial advertising came into force, and on the same date the employee threshold that triggers OQLF registration and a francization process dropped from 50 to 25. If your Quebec operation grows with local headcount, that threshold belongs on your compliance radar too, not just the website.

What it requires specifically for an ecommerce site

The obligation that governs an online store comes from section 52 of the Charter: catalogues, brochures, folders, commercial directories and any similar publications must be in French, regardless of the medium. The regulation confirmed what was already the working interpretation — that this includes information published on websites and social media. An online product catalogue is a catalogue.

The law allows two routes, and the difference is purely one of implementation:

Route What it looks like Key requirement
Bilingual on the same page Every page shows French and English together French must be displayed at least as prominently
Two separate versions One French site or store view, one English The French version must be available on terms of accessibility and quality no less favourable

For a large catalogue, the second route is the only sensible one: nobody wants a product page with every field duplicated. And that is where the criterion that decides whether a project actually complies comes in: "no less favourable" is not decorative language. It means the French version has to be complete, equally easy to find, equally fast, with the same catalogue, the same prices, the same working checkout and the same quality of copy. A partial French version, hidden behind a footer selector or machine-translated, is precisely what that phrase is meant to rule out.

Beyond the catalogue, three areas routinely fall outside project scope and do count:

  • Contracts and terms. Contracts of adhesion — terms and conditions, conditions of sale, return policies — must be presented in French; the consumer can then choose another language, but French comes first by default.
  • Customer service and communications. If you write to a Quebec customer, expect to serve them in French: transactional emails, shipping notifications, billing notices, chat and support.
  • Products and packaging. Inscriptions on the product and its packaging have their own regime, with specific rules for registered trademarks. It is a separate front from the website and usually involves the product team, not the digital one.

On trademarks: the exception that lets you keep a mark in another language now applies to trademarks registered in Canada, and even then, generic or descriptive elements within the mark must appear in French on the product and packaging. On exterior signage visible from a public road, a non-French trademark must be accompanied by markedly predominant French wording. If your Canadian brand strategy depends on that exception, it is worth checking with a trademark agent whether your Canadian registrations actually support it.

How to implement it in Adobe Commerce: the right architecture

Adobe Commerce handles this natively, and it is one of the reasons we stand behind the platform for multi-country operations. The hierarchy is Website → Store → Store View, and Quebec French belongs in an additional store view inside the same Canadian website.

That decision matters. Put French on a separate website and you end up with two catalogues, two inventories and two carts that don't talk to each other: the customer who switches language loses their cart, and you maintain the catalogue twice. With a store view you share catalogue, inventory, customers, pricing and promotion rules, and translate only the presentation layer and the text fields. That is the difference between a project measured in weeks and one measured in months.

The Canadian website ends up like this:

Website: Canada (CAD)
└── Store: Canada Main
    ├── Store View: en_CA  (English — default)
    └── Store View: fr_CA  (French — Quebec)

The configuration steps, in the order we run them:

  1. Create the store view. Stores → All Stores → Create Store View, attached to the Canadian store, with code fr_ca, enabled.
  2. Set the locale. Stores → Configuration → General → Locale Options, with scope switched to that store view, locale French (Canada). It is fr_CA, not fr_FR — it changes date formats, currency and the terminology in the translation packs.
  3. Decide the URL structure. A dedicated path (/fr/) is our default recommendation: it keeps domain authority, is simplest to operate and is transparent to the CDN. A subdomain is also valid and sometimes required by how teams are organised. What we don't recommend is relying on the ?___store= parameter, which pollutes URLs and fragments indexing.
  4. Set translatable attributes to Store View scope. This is the most-forgotten step and the one that derails catalogue translation: if name, description, short_description and the meta fields are global-scope, they cannot be translated per store view. Change it in each attribute definition before translation work starts.
  5. Translate the interface. A French language pack installed via Composer, plus your own fr_CA.csv dictionary in the theme for brand terminology. The base translated interface is not enough: your theme copy, your checkout messages and your custom labels live in that dictionary.
  6. Duplicate and translate CMS content. Pages, blocks and Page Builder content are assigned per store view. Every English page needs its French counterpart, legal pages included.
  7. Translate transactional emails. Marketing → Email Templates, assigned per store view: order confirmation, shipment, invoice, refund, password reset. This is the most common blind spot and the biggest source of complaints, because the customer bought in French and gets the confirmation in English.
  8. Configure hreflang. Reciprocal across all versions, with x-default:
<link rel="alternate" hreflang="fr-CA" href="https://example.com/fr/" />
<link rel="alternate" hreflang="en-CA" href="https://example.com/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
  1. Visible language switcher. In the header, not the footer. It is a matter of equivalent accessibility and, incidentally, a quality signal for search.
  2. Review search. If you use Live Search or Elasticsearch, analyzer and synonym configuration is per language: without it, French search returns poor results and the customer concludes the French version is second-class.

One operational detail worth solving up front: Adobe Commerce translation fallback is silent. An untranslated field displays the value from the parent scope — usually English — with no warning. Convenient for launching, dangerous for compliance, because a product page can look "complete" in French with an English description. We handle this with a translation-coverage report by attribute and store view, run before every go-live and periodically afterwards.

Machine translation: why it doesn't solve the problem

It is the first solution nearly everyone proposes, and it fails for three distinct reasons worth separating.

Legal. A widget that translates in the visitor's browser does not produce a version available on terms no less favourable: the content doesn't exist on the server, has no URL of its own, depends on a third party and its quality is outside your control. The obligation is to publish in French, not to offer a tool so the customer can translate.

SEO and GEO. Client-side translation is not indexable: Google never sees it, there is no French page to rank and no French content for an LLM to cite. You forfeit French-language search traffic entirely — the majority of the market in Quebec. With real store views, by contrast, every French product page is an indexable URL with its own hreflang.

Commercial. Quebec French is not French from France, and machine translation drifts toward the latter. In Quebec it's courriel, not e-mail; magasiner, not faire du shopping; and sizing, payment and shipping terminology follow their own conventions. A store that reads as European French tells the Quebec customer their market was a box to tick.

What does work: professional human translation with a brand glossary, supported by automated pre-processing for high-volume catalogue pages, with mandatory human review of everything that touches conversion, legal or transactional flows. It is exactly the approach we take to content at scale in our content supply chain work.

Common mistakes we see in production

Mistake Why it matters
Translating only the home and category pages Section 52 is about the catalogue; product pages are the catalogue
Machine-translation widget Doesn't comply, doesn't index, reads as European French
Language switcher in the footer Risk of "less favourable terms"; also buries discovery
Untranslated transactional emails The most common blind spot and the biggest complaint driver
Global-scope attributes Makes catalogue translation impossible; discovered mid-project
French from France Formally compliant, commercially tone-deaf
Untranslated legal pages Contracts of adhesion are exactly what the rule names
No reciprocal hreflang Google picks the wrong version or treats both as duplicates
Confusing Bill 96 with Law 25 Two different statutes: one language, one privacy
Assuming a registered trademark exempts everything The exception is narrow, and descriptive elements go in French

The last row deserves emphasis, because both statutes tend to land on the same project and they are not the same thing. Bill 96 is about language. Law 25 is Quebec's personal-information regime, with obligations around consent, privacy impact assessments, breach notification and appointing a person in charge of protection of information. Complying with one says nothing about the other. We cover the privacy side in more detail in the Canadian stack guide.

What it costs and how long it takes

There is no list price, because the cost barely depends on the platform: it depends on the volume of content to translate. The variables that move the number are the number of SKUs with unique copy, how many CMS pages and campaign landings exist, how many email templates there are, and whether the catalogue carries rich descriptions or one line per product.

As an order of magnitude from our projects, the technical portion — creating the store view, fixing attribute scopes, URL structure, hreflang, language pack, email templates and the coverage report — is a bounded, predictable scope on the order of a few weeks of work. Catalogue translation is what dominates the timeline and the budget, and it scales close to linearly with the number of product pages. That is why we always recommend phasing: launch with the complete purchase path in French — home, categories, the product pages that concentrate revenue, checkout, emails and legal pages — then work through the long tail of the catalogue with the site already live. It is defensible if a notice arrives, because a real and functional French version exists, and it avoids concentrating all the risk on a single date.

How we approach it at WolfSellers

We are an Adobe Gold Partner headquartered in Mexico City with a nearshore team for North America, and Adobe Commerce multi-store architecture is familiar ground: multi-brand, multi-country and multi-language operations are the kind of project we do. On Quebec specifically, our work is the implementation — store view architecture, scopes, translating the technical layer, hreflang, verified coverage — and coordinating with the translation vendor and with the lawyer who validates scope. We don't give legal advice and we don't translate into Quebec French in-house: you hire the people who practise that, and we make sure the platform supports it.

The order we work in: first a scoping assessment with counsel to establish what applies; then the technical architecture, which is what enables everything else; then the translation workflow with a glossary; and finally verification with a coverage report, an end-to-end French checkout review, and testing of the transactional emails, which is where the last missing piece almost always turns up.

If you are evaluating Quebec as part of entering Canada, the Canada hub has the full picture, and a discovery call is free.

Frequently asked questions about Bill 96 and ecommerce

Does Bill 96 apply if my company isn't in Canada?

The relevant test is commercial activity directed at Quebec consumers, not where your company sits. If you sell and ship to residents of the province, the prudent assumption is that you are within scope, and you should confirm it with Quebec counsel rather than assume the absence of a Canadian entity excludes you. It is the most common reasoning error we encounter and the most expensive to fix late, because translating a catalogue is not a last-minute change.

Is translating the homepage into French enough?

No. The obligation covers catalogues and commercial publications, and in an online store the catalogue is the product pages. A French homepage with English categories and products is precisely what the "no less favourable" standard is meant to exclude. The minimum defensible scope is the complete purchase path in French: home, categories, the product pages carrying real revenue, cart, checkout, transactional emails and legal pages.

Will Google Translate or a translation widget do?

Not for compliance. Translation that happens in the visitor's browser does not produce published French content: it has no URL of its own, Google doesn't index it, an LLM can't cite it, it depends on a third party and its quality is outside your control. You also forfeit all French-language search traffic, which in Quebec is the majority of the market. What you need is a real French version, with Adobe Commerce store views and content on the server.

Separate website or store view in Adobe Commerce?

Store view, in the vast majority of cases. It shares catalogue, inventory, customers, pricing and promotions with the English version, and you translate only the presentation layer and the text fields. A separate website forces you to maintain two catalogues and two inventories, and breaks the cart when a customer switches language. A separate website is justified when Quebec operates as a distinct business unit with its own catalogue, pricing or legal entity — an uncommon scenario.

French from France or Quebec French?

Quebec French, and the difference is commercial as much as terminological. Courriel rather than e-mail, magasiner rather than the European forms, distinct conventions in sizing, payments and shipping. A site that reads as European French is formally compliant but signals to the Quebec customer that their market was handled as paperwork. For catalogue at scale, automated pre-processing with mandatory human review works well; anything touching conversion, legal or emails gets human translation from the start.

What is the difference between Bill 96 and Law 25?

They are two different Quebec statutes that tend to arrive together on the same project. Bill 96 is linguistic: it reforms the Charter of the French Language and governs what language you do business in. Law 25 is personal-data protection, with obligations around consent, privacy impact assessments, breach notification and appointing a responsible officer. Complying with one says nothing about the other, and in an ecommerce project both touch the same checkout from different angles.

What are the penalties for non-compliance?

For corporations, fines generally fall in the CAD 3,000 to 30,000 range per violation, doubled for repeat offences. In practice, what triggers the process is not a proactive inspection but a consumer complaint, followed by an OQLF notice with a deadline to correct. The real exposure for an online store is usually operational rather than financial: a short deadline to translate an entire catalogue is a far more expensive problem than the fine.

If this topic is relevant to your business, these services from WolfSellers can help you implement it:

Want to dive deeper?

Let's talk.

We're an Adobe Gold Partner in Mexico with 100+ certified specialists. If anything in this article applies to your operation, the first consultation is on us.

Or email us at contacto@wolfsellers.com

Chat with us on WhatsApp