Grundpreise (€/Liter , €/kg) dynamisch in Metafeld speichern

Hallo,

ich bin recht neu und habe eine Frage die mich zur Weißglut treibt!

Ich verkaufe u.a. Kosmetik und lasse auch brav den Grundpreis über die shopify Standardfunktion anzeigen. Nun möchte ich allerdings den Grundpreis, der sich ja in diesem Feld auf der Produktseite automatisch berechnet gerne über ein Metafeld abgreifen. Hintergrund ist, dass ich die Produktdaten über einen Produkt-Feed z.b. an Idealo geben will.

Hier muss aber zwingend der Grundpreis angegeben werden. Ich finde aber nur die Möglichkeit, über ein manuelles Feld, die Grundpreise manuell zu pflegen. Wenn ich dann aber den Preis ändere, passt der Grundpreis nicht mehr.

Ich möchte daher gerne den von Shopify errechneten Grundpreis in einem metaobjekt/Metafeld speichern, sodass sich das Metafeld automatisch ändert, wenn ich den Produktpreis anpasse, damit ich den feed immer aktuell und automatisch richtig habe. Ist das möglich???

Ich danke euch vielmals vorab!

LG

Simon.

Hallo @qualidoo,

Shopify berechnet den Grundpreis zwar automatisch, stellt ihn aber nicht als Metafeld oder Metaobjekt bereit, das du einfach auslesen oder in einen Feed geben kannst.

Das heißt: Du kannst den automatisch berechneten Grundpreis nicht direkt in ein Metafeld spiegeln. Shopify bietet dafür aktuell keine native Funktion.

Wie du es trotzdem sauber und automatisch lösen kannst:

Option A: Shopify Flow (beste Lösung ohne App)

Du kannst dir mit Shopify Flow eine eigene Logik bauen:

1. Trigger: “Product variant updated” (Preis oder Menge ändert sich)

2. Flow berechnet: variant.price / (variant.unit_price_measurement.quantity / variant.unit_price_measurement.reference_value)

3. Ergebnis in ein Metafeld schreiben

→ z. B. metafields.custom.dynamic_unit_price

Damit ist dein Metafeld immer automatisch aktuell, auch für Idealo, Google Shopping etc.

Option B: Kleine Custom-App / Skript

Mini-App oder ein sehr kleines Script nutzen, das bei jeder Preisänderung den Grundpreis neu berechnet und ins Metafeld schreibt.

Technisch simpel, sehr stabil, 100 % automatisiert.

Option C: Feed-App mit Berechnungslogik

Manche Feed-Apps (DataFeedWatch, Channable) erlauben eine eigene Formel, die automatisch den Grundpreis errechnet, ohne dass ein Metafeld nötig ist. Das reicht oft schon aus.

Viele Grüße

Rafael von Muthwerk

:sparkles: E-Commerce Solutions & Shopify Optimization

Über ein Metafeld abgreifen kannst du das nicht. Shopify hat mit der variable {{ unit_pricing_base_price }} schon den Grundpreis drin. Das wird automatisch mit Preisänderungen auch korrekt geändert.

Darauf greifen auch alle Feed zu. Wenn du unbedingt sowas ins Metafeld packen magst, welches nahezu in Echtzeit synchronisiert, benötigst du dafür eine private App.

Hallo Simon, falls die Frage noch aktuell ist:

Für den idealo-Feed musst du den Grundpreis nicht zwingend erst in ein Metafeld kopieren. Shopify stellt bei einer Variante neben dem Preis auch die Mengenangaben für den Grundpreis bereit: Packungsmenge, Mengeneinheit, Bezugsmenge und Bezugseinheit. Eine Feed-App kann daraus den Grundpreis bei jedem Lauf neu berechnen. Ändert sich der Variantenpreis in Shopify, ändert sich damit auch der Wert im nächsten Feed automatisch.

Wichtig ist, dass die Mengenangabe an jeder betroffenen Variante vollständig gepflegt ist. Bei 19,90 € Verkaufspreis, 500 ml Inhalt und 100 ml Bezugsmenge kann der Feed zum Beispiel 3,98 € / 100 ml ausgeben. Für idealo müssen Grundpreis und Verpackungseinheit gemeinsam im Feed stehen.

Offenlegung: Ich entwickle Feedwerk. Meine App liest genau diese Shopify-Variantendaten und berechnet daraus basePrice und packagingUnit, sobald die Mengenangabe an der Variante vollständig gepflegt ist. Zusätzlich zeigt der Laufbericht, welche Angebote aus anderen prüfbaren Gründen nicht im Feed stehen. Die App kostet nach 14 Testtagen 9,90 USD je 30 Tage über Shopify. Eine Annahme des Feeds durch idealo kann ich nicht garantieren.

Ergänzung zu den drei Wegen oben — die Stellen, an denen die Flow-Variante in der Praxis meistens kippt:

1. Varianten ohne Maßangabe. variant.unit_price_measurement existiert nur, wenn bei der Variante Inhaltsmenge und Referenzmenge gepflegt sind. Sobald eine Variante ohne diese Felder durchläuft, rechnet Flow gegen null und schreibt entweder nichts oder Müll ins Metafeld. Der Flow braucht also zwingend eine Bedingung „Maßangabe vorhanden?" vor dem Rechenschritt, sonst hast du im Feed stille Lücken.

2. Referenzeinheit mitliefern, nicht raten. Der Wert allein reicht dem Feed nicht — Idealo & Co. wollen die Einheit dazu. Die steht in unit_price_measurement.reference_value und reference_unit (z. B. 1 / kg oder 100 / g). Am saubersten schreibst du zwei Metafelder: einen Zahlwert und einen fertig formatierten String. Wenn du die Einheit im Feed-Template hart verdrahtest, stimmt sie beim ersten Produkt mit anderer Referenzmenge nicht mehr.

3. Rundung. Division in Flow gibt dir Nachkommastellen, die niemand sehen will. Vor dem Schreiben auf zwei Stellen bringen — und im Shop selbst die Money-Filter nutzen statt eigener Formatierung, sonst hast du Shop und Feed mit unterschiedlicher Darstellung.

4. Für die Anzeige im Shop brauchst du das Metafeld gar nicht. Im Theme kommst du direkt an variant.unit_price und variant.unit_price_measurement — das Metafeld lohnt sich nur für externe Feeds. Das spart dir einen Sync, der kaputtgehen kann.

Und ein Hinweis, der in diesen Threads fast immer fehlt: prüf die Anzeige nicht nur auf der Produktseite. In vielen Themes hängt die Grundpreis-Ausgabe nur am Produkt-Template und fehlt auf den Kollektions-Kacheln, im Warenkorb-Drawer und in der Suchvorschau — also an Stellen, an denen der Preis selbst sehr wohl steht. Wer nur die Produktseite kontrolliert, übersieht das zuverlässig.

(Zur Einordnung: Ich schreibe hier über die technische Umsetzung im Shop. Ob dein konkreter Fall Grundpreise braucht und in welcher Form, ist eine rechtliche Frage für Anwalt oder Händlerbund.)