
A step-by-step guide written in plain Italian on how to make your standard Shopify store compliant with a VAT number in the footer, the 2022 Garante Privacy cookie banner, and the collection of Tax Code and PEC (Certified Email) at checkout without installing heavy apps.
Company data in the footer: your legal business card
Transparency is the first step to avoid immediate penalties. Selling online in Italy without clearly displaying your VAT number is illegal under Presidential Decree 633/1972 and entails an administrative fine ranging from 250 to 2,000 euros. Yet, I constantly see stores that forget this fundamental detail. Your VAT number must be included in your website's footer, clearly formatted as "P. IVA IT01234567890", and must be present on every single page, including transactional order confirmation emails and sales documents.
But the VAT number alone is not enough. If you manage a company (such as an S.r.l. or an S.p.a.), Italian law requires you to also indicate in the footer the company name, the address of the registered office, the Register of Companies office where you are registered, the REA number (Economic and Administrative Repertoire) and the deliberated and paid-up share capital. In my method, I insert this data by directly modifying your theme's footer section or by modifying the copyright line, without resorting to external applications that would only slow down the site's code.
Furthermore, if you use Shopify Payments to receive payments on your store, you must ensure that all company data entered in the control panel corresponds exactly to your Chamber of Commerce registration or your VAT number attribution certificate. Shopify will verify your VAT number through the VIES system for cross-border transactions. If the documents you provide as proof of identity (valid passport, driver's license or ID card) or as proof of address (utility bills or bank statements issued in the last 6 months) do not perfectly match the data registered on Shopify Payments, your account risks immediate payment suspension.
The cookie labyrinth: how to comply with the Guarantor without losing speed
The Privacy Guarantor's guidelines of June 10, 2021, which fully came into force on January 10, 2022, have radically changed the way we must manage user tracking. If your store installs profiling cookies or tracking pixels (such as those from Meta, Google, TikTok or Microsoft) before the user has expressed explicit consent, you are breaking the law.
The Guarantor has established very clear rules for the structure of the cookie banner: The "Accept all" and "Reject" buttons (or the option to continue without accepting using a classic "X" positioned at the top right) must have the same graphical prominence. You cannot use bright colors for the acceptance button and hide the rejection button under tiny text. Consent collected through simple page scrolling is illegal. The action must be conscious, active, and documentable through a consent log. So-called cookie walls, which block site navigation if the user does not accept cookies, are prohibited. You cannot persistently re-propose the banner to a user who has already rejected tracking: at least 6 months must pass before the banner can be shown again, unless the processing conditions change or it is impossible to verify the previous cookie status on the user's device.
From a web performance perspective, inserting a traditional cookie blocking system can destroy the responsiveness of your mobile store. To ensure a good shopping experience, Largest Contentful Paint (LCP) must remain less than or equal to 2500 milliseconds and Interaction to Next Paint (INP) must be less than or equal to 200 milliseconds. If your cookie banner script blocks the browser for several seconds while analyzing traffic, you will lose customers before they even see your products.
To solve this problem, I directly leverage Shopify's native Customer Privacy API. This built-in JavaScript interface allows the store to collect consent and communicate it directly to Shopify's pixels and technologies without loading heavy external blocking scripts. We can use Shopify's native banner or integrate certified solutions such as Consentmo, Pandectes, or CookieHub, which interface with Shopify's APIs to preemptively block marketing and analytics cookies until the user's explicit consent. If you prefer Iubenda's Cookie Solution, I assure you that their solution has been lightened by 45% to minimize the impact on your site's loading time.
Lightweight checkout and electronic invoicing: collecting data without friction
One of the most intricate issues for those selling in Italy is collecting the Tax ID (Codice Fiscale), VAT number (Partita IVA), Recipient Code (SDI), and PEC for electronic invoicing. Shopify is a platform of Canadian origin, and its standard checkout process does not natively include these fields. Many merchants rush to install expensive monthly applications that modify the checkout, adding scripts that slow down the user experience precisely at the hottest stage of the purchase.
In my work with standard stores (Basic, Shopify, Advanced), I apply a clean and zero-cost workaround that does not require any additional app installations. By accessing the language editor of the theme in use, I modify the translation labels of unused native optional address fields, such as "Address2" or "Company". By renaming the "Address2" label to "Codice Fiscale or P. IVA" and "Optional Address2" to "Codice SDI or PEC", the data filled in by the customer will be natively recorded in Shopify's order control panel, ready to be imported by your electronic invoicing software (such as Fattura24 or Easyfatt) without spending a penny on third-party apps and without adding a single millisecond of loading time to the page.
This approach also protects the conversion rate. If you primarily sell to private consumers (B2C), forcing them to enter their Tax ID is commercial suicide: many do not remember it by heart or do not have it at hand at the time of payment. By keeping the field optional or displaying it conditionally only to those who request an invoice, you ensure a fluid shopping experience for ninety percent of your customers, collecting the necessary data only when strictly indispensable.
Also an eye on physical sales: Shopify POS in Italy
If, in addition to your online store, you manage a physical point of sale using Shopify POS, compliance in Italy requires additional steps that many overlook. You cannot simply process partially paid or unpaid transactions at checkout if you want to comply with local tax regulations. To issue compliant tax receipts, you must physically connect your supported RT printer (such as the Epson FP-81II RT or the Epson FP-90III RT) to the Agenzia delle Entrate (Italian Revenue Agency).
Furthermore, you must register your virtual and physical payment instruments (including Tap to Pay on iPhone or Android) on the "Fatture e Corrispettivi" (Invoices and Fees) portal of the Agenzia delle Entrate. To do this, you will need to request the agreement number of the Shopify Payments convention (Stripe Technology Europe, Limited with Acquirer Tax Code 97979220155) from Shopify support and enter the serial number (S/N) of your POS terminal as Terminal-id within the portal. This is a technical and rigorous procedure, but essential to avoid heavy penalties on retail trade.
Securing your Shopify store should not turn into an app hunt that destroys your store's performance. With the right modifications to the theme code and by leveraging Shopify's native features, you can protect your business from hefty fines and offer your customers a lightning-fast, transparent, and professional shopping experience.
IFG eCommerce Technical Mapping Semantic Triggers
- Native Shopify Customer Privacy API integration
- Cookie banner configuration for Privacy Guarantor 2022
- Management of company data and REA in the Shopify footer
- Optimization of fiscal fields in Shopify checkout without apps
- Synchronization of pixel tracking and Google Consent Mode v2

