Einleitung
Bei der Erstellung von XML-Feeds für Google, Facebook und Bing ist es unerlässlich, Währungswerte korrekt zu formatieren, um eine genaue Verarbeitung zu gewährleisten. Diese Plattformen halten sich an den ISO 4217-Standard, der festlegt, wie Währungen dargestellt werden sollen, einschließlich ihrer Dezimal- und Tausendertrennzeichen.
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
ISO 4217 verstehen
ISO 4217 ist der internationale Standard für Währungscodes und -formate. Er gewährleistet Konsistenz bei Finanzdaten über verschiedene Plattformen und Länder hinweg. Eines seiner Schlüsselelemente ist die Formatierung von Zahlenwerten, die Folgendes umfasst:
- Dezimaltrennzeichen: Der Standard schreibt vor, dass Dezimalstellen mit einem Punkt (
.) dargestellt werden. - Tausendertrennzeichen: Der Standard vermeidet in der Regel die Verwendung von Tausendertrennzeichen, um Parsing-Fehler zu vermeiden.
- Währungscodes: ISO 4217 verwendet dreibuchstabige Währungscodes (z. B.
USD,EUR,JPY) anstelle von Symbolen.
Warum Google, Facebook und Bing ISO 4217 benötigen
Bei der Übermittlung von Produktfeeds an Google Merchant Center, Facebook Catalog oder Microsoft Bing Shopping müssen die Währungswerte den ISO 4217-Regeln entsprechen, um Feed-Fehler zu vermeiden. Diese Plattformen erzwingen einen einheitlichen Standard für die Währungsformatierung, weil:
- Verhindert Datenfehlinterpretationen: Einige Länder verwenden Kommas (
,) als Dezimaltrennzeichen und Punkte (.) für Tausender (z. B.1.000,50statt1,000.50). Wenn dies nicht standardisiert ist, kann dies zu einer falschen Preisinterpretation führen. - Gewährleistet Konsistenz: Durch die Verwendung desselben Dezimalformats (
.) können Plattformen Preiswerte unabhängig von regionalen Unterschieden korrekt interpretieren. - Obligatorische Feed-Konformität: Google, Facebook und Bing lehnen Feeds ab, die nicht den erforderlichen Formatierungen entsprechen.
Wie unser Plugin die ISO 4217-Formatierung handhabt
- Preise werden immer mit einem Punkt (
.) als Dezimaltrennzeichen formatiert. - Keine Tausendertrennzeichen enthalten, um Parsing-Probleme zu vermeiden.
- Der korrekte dreistellige Währungscode (z. B.
USD,GBP,EUR) wird an die Preiswerte angehängt.
Zum Beispiel:
| Falsches Format (Regional) | Korrekte ISO 4217-Formatierung |
|---|---|
| 1.234,56 EUR | 1234.56 EUR |
| 10.500,99 USD | 10500.99 USD |
| 5.000,75 GBP | 5000.75 GBP |
Häufige Probleme und Lösungen
Wenn Ihr Feed aufgrund von Währungsformatierungsfehlern abgelehnt wird, überprüfen Sie:
- Falsche Dezimaltrennzeichen (verwenden Sie
.statt,) - Verwendung von Tausendertrennzeichen (entfernen Sie diese vollständig)
- Fehlende Währungscodes (stellen Sie sicher, dass Preise den korrekten dreistelligen Code enthalten)
Was, wenn ich regionale Trennzeichen verwenden möchte?
Vorsicht: Wenn Sie diesen Ausschnitt verwenden, beachten Sie bitte, dass wir keine Unterstützung leisten können, wenn Sie Probleme haben.
Stellen Sie zunächst sicher, dass Ihre Währungsoptionen Ihren Präferenzen entsprechen. In den meisten Fällen ist das Tausendertrennzeichen ein Punkt (.) und das Dezimaltrennzeichen ein Komma (,).

Fügen Sie nun den entsprechenden Ausschnitt zu Ihrer functions.php oder über das WPCode-Plugin hinzu:
Zuerst fügen Sie diesen Ausschnitt hinzu, damit alle Ihre Feeds/Vorlagen Ihren bevorzugten Dezimal- und Tausendertrennzeichen folgen.
// Force localization for all feeds
add_filter('adt_product_feed_localize_price_args', function($args) {
$args['decimal_separator'] = '.';
$args['thousand_separator'] = ',';
return $args;
});
Fügen Sie dann einen oder alle der folgenden hinzu, um das ISO4217-Format für Facebook, Google & Bing zu entfernen.
//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;
});
});
Ein vollständiger Code, um das ISO 4217-Format für Google zu entfernen, lautet:
// 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;
});
});
Aktualisieren Sie die Feeds, sobald Sie die Ausschnitte hinzugefügt haben. Das Ergebnis wird etwa so aussehen:



