Introduzione
Quando si generano feed XML per Google, Facebook e Bing, è essenziale formattare correttamente i valori delle valute per garantire che vengano elaborati in modo accurato. Queste piattaforme aderiscono allo standard ISO 4217, che specifica come le valute debbano essere rappresentate, inclusi i separatori decimali e delle migliaia.
Facebook: https://www.facebook.com/business/help/120325381656392?id=725943027795860
Google: https://support.google.com/merchants/answer/7052112?hl=en
Bing: https://learn.microsoft.com/en-us/advertising/transaction-message/reference
Comprendere ISO 4217
ISO 4217 è lo standard internazionale per i codici e la formattazione delle valute. Garantisce la coerenza dei dati finanziari tra diverse piattaforme e paesi. Uno dei suoi elementi chiave è la formattazione dei valori numerici, che include:
- Separatori decimali: Lo standard impone che i decimali siano rappresentati con un punto (
.). - Separatori delle migliaia: Lo standard generalmente evita l'uso di separatori delle migliaia per prevenire errori di analisi.
- Codici valuta: ISO 4217 utilizza codici valuta di tre lettere (ad es.
USD,EUR,JPY) anziché simboli.
Perché Google, Facebook e Bing Richiedono ISO 4217
Quando si inviano feed di prodotti al Google Merchant Center, al Catalogo Facebook o a Microsoft Bing Shopping, i valori delle valute devono essere conformi alle regole ISO 4217 per evitare errori nel feed. Queste piattaforme impongono uno standard uniforme per la formattazione delle valute perché:
- Previene l'errata interpretazione dei dati: Alcuni paesi usano le virgole (
,) come separatori decimali e i punti (.) per le migliaia (ad es.1.000,50invece di1,000.50). Se non standardizzato, ciò può portare a un'errata analisi dei prezzi. - Garantisce la coerenza: Utilizzando lo stesso formato decimale (
.), le piattaforme possono interpretare accuratamente i valori dei prezzi indipendentemente dalle differenze regionali. - Conformità obbligatoria del feed: Google, Facebook e Bing rifiutano i feed che non aderiscono alla formattazione richiesta.
Come il Nostro Plugin Gestisce la Formattazione ISO 4217
- I prezzi sono sempre formattati utilizzando un punto (
.) come separatore decimale. - Non vengono inclusi separatori delle migliaia per evitare problemi di analisi.
- Il codice valuta di tre lettere corretto (ad es.
USD,GBP,EUR) viene aggiunto ai valori dei prezzi.
Ad esempio:
| Formato Errato (Regionale) | Formato ISO 4217 Corretto |
|---|---|
| 1.234,56 EUR | 1234.56 EUR |
| 10,500.99 USD | 10500.99 USD |
| 5.000,75 GBP | 5000.75 GBP |
Problemi comuni e soluzioni
Se il tuo feed viene rifiutato a causa di errori di formattazione della valuta, controlla:
- Separatori decimali errati (usa
.invece di,) - Uso di separatori delle migliaia (rimuovili completamente)
- Codici valuta mancanti (assicurati che i prezzi includano il codice corretto di tre lettere)
Cosa fare se voglio usare i separatori regionali
Attenzione: se utilizzi questo snippet, tieni presente che non saremo in grado di fornire supporto in caso di problemi.
Innanzitutto, assicurati che le opzioni valutarie siano impostate secondo le tue preferenze. Nella maggior parte dei casi, il separatore delle migliaia è un punto (.) e il separatore decimale è una virgola (,)

Ora, aggiungi lo snippet pertinente al tuo functions.php o tramite il plugin WPCode:
Il primo passo è aggiungere questo snippet in modo che tutti i tuoi feed/template seguano il tuo separatore decimale e delle migliaia preferito
// Force localization for all feeds
add_filter('adt_product_feed_localize_price_args', function($args) {
$args['decimal_separator'] = '.';
$args['thousand_separator'] = ',';
return $args;
});
Quindi aggiungi uno o tutti i seguenti per rimuovere il formato ISO4217 per Facebook, Google e Bing
//Google Feeds
add_filter('adt_pfp_localize_price_iso4217_feeds', function($feeds) {
// Remove all Google feeds from ISO4217 formatting
return array_filter($feeds, function($feed) {
return strpos($feed, 'google_') !== 0;
});
});
//Facebook Feeds
add_filter('adt_pfp_localize_price_iso4217_feeds', function($feeds) {
// Remove all Facebook feeds from ISO4217 formatting
return array_filter($feeds, function($feed) {
return strpos($feed, 'facebook_') !== 0;
});
});
//Bing Feeds
add_filter('adt_pfp_localize_price_iso4217_feeds', function($feeds) {
// Remove all Bing feeds from ISO4217 formatting
return array_filter($feeds, function($feed) {
return strpos($feed, 'bing_') !== 0;
});
});
Un codice completo per dire che si desidera rimuovere il formato ISO 4217 per Google è
// Force localization for all feeds
add_filter('adt_product_feed_localize_price_args', function($args) {
$args['decimal_separator'] = '.';
$args['thousand_separator'] = ',';
return $args;
});
add_filter('adt_pfp_localize_price_iso4217_feeds', function($feeds) {
// Remove all Google feeds from ISO4217 formatting
return array_filter($feeds, function($feed) {
return strpos($feed, 'google_') !== 0;
});
});
Aggiorna i feed una volta aggiunti gli snippet. Il risultato sarà simile a questo:



