Stefan RiemeyerGoogle Ads Freelancer

Google Shopping for Switzerland: feed, CHF and Merchant Center

How a German shop switches feed, landing page and checkout to CHF, handles import charges cleanly and plans for the CHF 100,000 VAT threshold.

Stefan Riemeyer/Updated 1 November 2026/7 min read

Customer pays the charges at the door CHF 110 in the ad +20 Shop pays the charges CHF 130 in the ad incl. 20 Shop keeps CHF 110 Worked example

The feed comes after the doorstep price

If you sell from Germany into Switzerland, first decide on the CHF price you stand behind at the customer's door. The feed then simply reflects that price. A price can meet Google's requirements and still look dishonest in a comparison if charges are added on delivery. That is why I would approach the setup in this order: settle the import charges, fix the CHF price list, work through the tax threshold, and only then touch Merchant Center and the shop.

Who pays import charges changes the ad price and break-even

According to Google, import and export costs must be included in the price or clearly displayed on the website. Government charges that the customer pays directly, on the other hand, belong neither in the shipping costs nor in the price. That results in two options Google accepts, which look the same commercially but differ considerably in the ad.

Worked example with invented, round numbers: product price CHF 110, CHF 10 in import charges, CHF 10 handling fee from the parcel carrier, shipping left out.

Customer pays the charges Shop pays the charges
Price in feed and ad CHF 110 CHF 130
Paid at the door CHF 20 CHF 0
Customer pays in total CHF 130 CHF 130
Shop keeps CHF 110 CHF 110

The difference lies in two places. The left-hand option looks cheaper in a price comparison but surprises the customer at the door, even if the note about the extra payment is clearly visible on the page. I expect more complaints and refused deliveries there. The right-hand option shows the full price and looks more expensive in the comparison.

The right-hand option also shifts break-even ROAS, because the reported conversion value contains money that never stays with the shop. With CHF 33 of contribution margin before advertising, break-even ROAS is 3.3 on the left (110 / 33) and 3.9 on the right (130 / 33). If you simply carry over the German target ROAS, you can lose margin in Switzerland without the account showing it. It is better to take the charges out of the conversion value or to raise the target. How customs duty and import tax affect the ad price in detail is a separate topic.

Does Switzerland need its own feed?

Yes, as soon as Switzerland is a target market. Google lists CHF as a supported currency for Switzerland. The product data comes as a separate data source with CHF prices, and the shipping costs in the same currency as the offer. My working principle: one data source per combination of country, currency and language.

The alternative is Google's currency conversion. The feed stays in euros, as does the page, the price and tax rules of the euro country apply, and users see both currencies. That is convenient, and I still consider it the weaker choice, because a euro price in Swiss search results is immediately recognisable as a foreign offer. Then there is pricing law: if an online offer is aimed specifically at Swiss customers, the Price Disclosure Ordinance requires, according to SECO, the price actually payable in Swiss francs, with shipping costs shown separately and clearly. If you actively advertise in Switzerland, also get legal advice on the option where the customer pays at the door.

Language is the second axis. The landing page and the checkout elements needed for the purchase must be in the language of the data source. A German feed on a German page therefore covers German, not French-speaking Switzerland. French and Italian need translated pages and their own data sources; more on this under multilingual campaigns.

Check feed, landing page and checkout against the requirements

Location logic is a typical weak point of a German shop. Google prohibits changing the landing page price based on the user's location, and IP detection explicitly violates the requirements. The solution is a fixed Swiss address, such as a separate domain or a subdirectory, that shows CHF to every visitor.

Checkpoint Requirement Possible break
Price and currency Feed, landing page and checkout identical Page starts in EUR, CHF only after a selection
Location No price change by IP Visitors from Germany see EUR on the same URL
VAT Price includes tax and matches the page Feed with a different tax rate from the checkout
Shipping Costs set up in CHF Euro shipping table also applies to Switzerland
Import costs In the price or clearly displayed Note missing or only in the terms and conditions
Exchange rate No price based on a live rate Shop converts again on every page view

On VAT, Google is more generous than many assume: with a price in the target country's currency, the rate of your own website may be included, as long as all three places show the same price. That settles nothing for tax purposes; for that, see the section on the CHF 100,000 threshold.

My check before launch: open the product URL from the feed in a private window, once via a German IP and once via a Swiss IP. Both times the same CHF price as in the feed must appear, and in the checkout the same final price plus the shipping costs that have been set up. If any of these differs, the problem will later show up in Merchant Center as a disapproval for an incorrect price.

What to do if the shop system converts prices

According to Google, you should not submit products whose prices change constantly, and explicitly no prices based on a live exchange rate. I therefore recommend a fixed CHF price list, even where the system defaults to something else.

Shopify: according to its help, markets show prices with automatic exchange rates. Your own prices per market run through catalogues, and you set tax inclusion and duty collection per market there. The Google channel syncs selected countries from Markets if you choose to, and for the automatic shipping import a shipping zone for Switzerland has to exist.

Shopware: the feed is attached to a product comparison sales channel that is tied to a storefront domain, currency and language. So you first need a Swiss storefront with CHF and then a separate channel for it. You set up the file fetch in Merchant Center yourself.

A fixed list shifts the exchange rate risk to you, and that can be calculated: share of contribution margin lost = change in exchange rate / contribution margin rate. Suppose the franc loses 3% against the euro, at a 30% contribution margin and with costs in euros. Then a tenth of the contribution margin is gone. I would use that threshold as the trigger for a new price list; that is my rule of thumb. With a thin margin it has to be tighter.

The CHF 100,000 threshold belongs in budget planning

From CHF 100,000 in annual turnover from small consignments, a foreign mail-order company becomes liable for VAT in Switzerland. To register, it needs a tax representative resident or domiciled in Switzerland, and from then on all consignments into Switzerland are subject to domestic tax. Small consignments are those with an import tax amount of up to CHF 5. Up to the threshold, no import tax is charged on them.

That turns additional ad budget into a stepped calculation. At a target ROAS of 5, an annual budget of CHF 20,000 reaches CHF 100,000, provided the revenue comes from small consignments. Worked example with assumed values: 8% tax rate, unchanged prices, CHF 30,000 of contribution margin before advertising, CHF 6,000 a year for representation and filing.

Below the threshold After registration
Revenue from small consignments CHF 100,000 CHF 100,000
Tax payable CHF 0 around CHF 7,400
Fixed costs of registration CHF 0 CHF 6,000
Contribution margin before advertising CHF 30,000 around CHF 16,600
Contribution margin before advertising, CHF 30,000 16,600 30,000 again 100,000 160,000 Revenue, CHF Threshold Worked example
Worked example with the same assumptions and a constant contribution margin rate. Only at around CHF 160,000 in revenue is the contribution margin as high again as just below the threshold.

Just above the threshold, this shop therefore earns almost half as much on the same revenue. Registration is part of the expansion decision, not a bookkeeping question for later. You can raise CHF prices or calculate with Swiss tax from the outset. The FTA also allows voluntary registration before the threshold is reached, which makes the changeover easier to plan and the import tax deductible as input tax. Exactly when that applies is covered under VAT for foreign shops. Have a specialist check the cost of your representative and the tax consequences.

Conversely, the threshold only counts small consignments. At an assumed 8%, this range ends at roughly CHF 60 of goods value. A shop that sells almost exclusively above that may never reach the threshold, but has to plan for import tax at the border from the start.

For occasional sales, conversion is enough

For rare one-off sales without a Swiss strategy, a CHF price list and a Swiss storefront are not worth it. Google's conversion is enough there, or you leave Switzerland out altogether. If you have a warehouse in Switzerland or a Swiss company, tax and charges work differently, but the feed rules stay the same. Google's requirements as of November 2026.

Sources

  1. Price [price], Google Merchant Center Help
  2. Supported languages and currencies, Google Merchant Center Help
  3. Set up Shopping ads and free listings in multiple countries, Google Merchant Center Help
  4. Mail-order trade and platform taxation, Swiss Federal Tax Administration FTA
  5. FAQ on price disclosure, SECO (in German)
  6. Set up Google Shopping via the product comparison, Shopware Documentation
  7. Set up local pricing, Shopify Help Center
  8. Connect the Google channel, Shopify Help Center
Stefan Riemeyer

Stefan RiemeyerIndependent Google Ads specialist for e-commerce in the DACH region. I work on every account I manage myself.

Request a free audit

Read next