If you're running Google Ads in Canada and treating Quebec as part of a national English campaign, you have two problems. The commercial one is that you're bidding against French-language searches you can't rank an English ad for. The legal one is that under Bill 96, commercial advertising directed at Quebec has to exist in French, and any other-language version can't be offered on better terms than the French one. So the practical answer to google ads Quebec French is: build a separate campaign, geo-targeted to Quebec, with French keywords, French assets and a French landing page that loads at a fr-CA URL — and budget it properly, because a token French campaign with a tenth of the spend is arguably the thing the law is designed to stop.
We're a Shopify agency, not a law firm, and nothing below is legal advice. Get a Quebec lawyer to review your storefront before you scale spend. But the campaign architecture is our problem, and most of the compliance risk in a D2C setup lives in places the marketing team controls.
What Bill 96 actually asks of an advertiser
Bill 96 amended the Charter of the French Language. The part that matters for paid media is straightforward: commercial advertising, catalogues, brochures, websites and order forms aimed at Quebec consumers must be available in French. Another language is permitted, provided the French version is available on terms at least as favourable.
Read that second clause slowly. It's not "French must exist somewhere." It's parity. If your English landing page has a 15% welcome offer and the French one doesn't, that's a problem. If the English page has free returns and the French page is a machine-translated stub with no returns copy, that's a problem. If your English campaign runs year-round and the French campaign gets switched on for Boxing Day, a regulator would have a fair question.
Enforcement through the Office québécois de la langue française is largely complaint-driven. Someone files — a customer, a competitor, occasionally an employee — and you get a letter. Penalties escalate on repeat offences and continuing offences can be counted separately, which is why the cost of ignoring this is not a one-time fine. The trademark carve-out for non-French brand names has also been narrowed, particularly for signage, and generic or descriptive words attached to a mark now need French treatment. If your brand name contains a descriptive English word, ask counsel about it specifically.
For most D2C brands shipping into Quebec, the practical checklist is short: French storefront, French checkout, French order confirmation, French invoice, French returns policy, French customer support, and French product labelling on what arrives in the box. The ads are the easy part.
Language targeting in Google Ads does not do what the name suggests
This trips up almost every account we audit. The language setting in a Google Ads campaign does not filter by the language of your ad. It filters by signals about the user — their Google interface language and the language of the content they consume. A francophone in Laval who left their Google account in English will be matched by the English setting, and your French ad will never show to them.
So don't lean on it as a gate. The real segmentation lever is the keyword. "chaussures de course femme" and "women's running shoes" almost never collide, and Google's close-variant matching handles the accent and gender variations inside French well enough that you don't need to build out chaussure, chaussures, dès, des as separate keywords. Set language to French and English on the Quebec French campaign if you want maximum reach, and let the keywords sort it out. What you must not do is exclude Quebec from your English campaign. Roughly one in eight Quebecers speaks English at home, concentrated in Montreal, and they search in English. Serve them.
How we structure French campaigns for Quebec
Separate campaigns, not separate ad groups. The reason is asset scope: sitelinks, callouts, structured snippets and images attach at account, campaign or ad-group level, and Google will happily pull a campaign-level English callout into a French ad. We've seen "Free Shipping Over $75" render under a fully French ad more than once. Campaign-level separation with no account-level English assets is the only reliable fix.
The rest of the build:
- Geo: province of Quebec, presence-only (not "presence or interest"). Add Gatineau as its own ad group or campaign if your margins differ, because the Ottawa spillover is real and those users behave more like Ontario buyers.
- Negatives: a shared list of France-market terms — livraison France, en France, euros, French postal formats — plus cross-negatives so your English Canada campaign doesn't start matching French queries on broad match.
- Bidding: its own target CPA or ROAS. Do not put French Quebec into a portfolio strategy with English Canada. The auction dynamics are different and the shared target will quietly starve the smaller one.
- Budget: a genuine allocation. Quebec is roughly a fifth of Canada's population. If your national budget is CA$20,000 a month, a French campaign at CA$600 is not a French campaign, it's a compliance fig leaf that also happens to lose money.
Writing French ad copy inside a 30-character headline
French runs longer than English. Here's the arithmetic on a single line you'd use in half the ads you write:
"Free Shipping Over $75" is 22 characters. The Quebec French equivalent, "Livraison gratuite dès 75 $", is 27. That's 23% longer, and it still fits a 30-character headline with three to spare. Now try it in a sitelink, where the limit is 25 characters. It doesn't fit. Neither does "Retours gratuits sous 30 jours" (30 characters). You end up with "Retours gratuits" and you move the 30-day detail into the sitelink description, which gets 35 characters.
Note the currency format too: in Quebec French, the dollar sign goes after the number with a space, and the decimal separator is a comma. "19,99 $", not "$19.99". Get that wrong in a promotion extension and it reads as translated-by-a-tourist to exactly the audience you're paying to reach.
Turn off automatically created assets on the French campaigns. Google's generated headlines and its asset translation will pull from your English site and produce France French, or worse, something grammatically correct and commercially dead. Write the assets. There aren't that many.
Quebec French is not France French
Translation vendors default to Metropolitan French unless you specify fr-CA, and the difference shows up in exactly the words a shopper reads.
- Courriel, not email. The OQLF pushed courriel for decades and it won.
- Magasiner for the act of shopping. Faire du shopping reads as imported.
- Solde and rabais both work; promo is fine in ads.
- Anglicisms that are normal in Paris are often flagged in Montreal. Quebec has been more protective of the language, not less.
If you're translating a catalogue of any size, hire a Quebec-based translator for the top 50 pages and the checkout flow, then use machine translation for the long tail of product descriptions with a human pass on anything that ranks. That split keeps the cost sane. Our SEO and content team handles the same trade-off for merchants running Arabic and English in the Gulf, and the economics are similar.
The landing page carries most of the risk
An ad in French that lands on an English page fails twice: Google's landing page experience score drops, and the parity requirement isn't met. On Shopify, the clean setup is Shopify Markets with French published as a second language, served on a subfolder — yourbrand.com/fr-ca/ — with correct hreflang tags pointing both ways between the English and French versions of every URL.
Subfolder over subdomain, every time. It keeps link equity consolidated and it's less to configure. Then set the final URL in the French campaign to the fr-ca path directly rather than relying on Shopify's automatic language redirect, because that redirect fires on browser language and your French ad click from an English-locale browser will bounce to the wrong page.
Things that break and that we get wrong on the first pass more often than we'd like:
- Metafield content and third-party app blocks that don't inherit the translation layer. Review sections, size guides and FAQ accordions are the usual offenders. They render in English on a French page and nobody notices for two months.
- Checkout in English because the language wasn't published to that market.
- Notification emails. Order confirmation, shipping confirmation and refund emails all need French versions, and they're edited separately from the theme.
- PDF invoices from a third-party app, still English.
If you're standing up a French storefront on an older theme or a Shopify plan that predates Markets, budget for a migration rather than a patch. We've written about what that involves for Canadian merchants specifically.
Shopping and Performance Max
Merchant Center feeds carry a language attribute, and a French campaign needs a French feed. The Google & YouTube channel in Shopify handles multi-language selling through Markets, but the support has limits depending on how your markets are configured, and we frequently end up building a second primary feed for fr-CA rather than fighting it. Product titles, descriptions and the product landing page link all need to be the French versions. A French Shopping ad that clicks through to an English PDP is the same failure as above, just harder to spot in the UI.
For Performance Max, use a separate campaign with its own asset groups, French audience signals, and the French feed filtered in. Do not put French and English asset groups in the same PMax campaign and hope the algorithm keeps them apart. It won't.
What the economics usually look like
French auctions in Quebec are generally less crowded than the English equivalents in the Toronto and Vancouver metros, and CPCs reflect that. Work the model before you commit budget.
Say your English Canada campaign clears at CA$2.40 CPC with a 2.1% conversion rate. That's a CA$114 cost per acquisition (2.40 ÷ 0.021 = 114.29). If the French campaign clears at CA$1.60 with the same conversion rate, your CPA is CA$76 (1.60 ÷ 0.021 = 76.19) — a third cheaper. The catch is that conversion rate only holds if the French experience is complete. Half-translated checkout, English support hours, English return policy: the rate falls to 1.2% and your CPA is CA$133, worse than English. The translation work isn't a compliance cost you absorb. It's the thing that makes the cheaper traffic pay.
Run the French campaign for a full six weeks before you judge it. Volume is lower, so significance takes longer to arrive.
Start here
Open your Google Ads account, filter the search terms report on the last 90 days for queries containing accented characters or common French stems, and add up the impressions your English ads served against them. That number is what Quebec is currently costing you in wasted impression share. Then check one thing on the site: click through to your checkout with the storefront language set to French and see whether the payment step is still in English.
If both answers are ugly, we'll look at the account and the storefront together — request an audit and tell us Quebec is the priority.

