Shopify Freelancer

Dein Shop bekommt, was keine App kann

Als Shopify-Entwickler baue ich deinen Shop weiter aus: im Theme, als eigene App oder Function und in der Anbindung ans Backoffice. Getestet im eigenen Shop, umgesetzt in deinem.

Im Projekt-Check beschreibst du in sieben Fragen, was in deinem Shop entstehen soll. Innerhalb von 24 Stunden bekommst du per E-Mail, ob und wie sich das in Shopify umsetzen lässt, ob Theme, App oder Function der passende Weg ist und was das grob kostet.

Shopify Freelancer Justin Keirath
Eigene Shopify-Apps im Betrieb 4
Eigener Shopify-Shop LORA

Woran es bei Shopify-Shops meistens hängt

Shopify bringt Checkout, Hosting und Payment mit. Alles darüber hinaus entscheidet sich im Theme, in Apps und in der Anbindung. Vier Muster, die ich regelmäßig sehe.

Drei Apps für eine Funktion

Bundle, Upsell und Mengenrabatt kommen aus drei Apps, jede mit Monatsgebühr und eigenem Skript im Theme. Zusammen bremsen sie die Seite, und keine kann genau das, was der Shop braucht.

Theme-Anpassungen, die niemand mehr kennt

Sections wurden über Jahre von wechselnden Dienstleistern angepasst. Beim nächsten Theme-Update oder neuen Feature weiß niemand, was wo hängt und was kaputtgeht.

Handarbeit im Backoffice

Rechnungen, Preisänderungen und Bestandsabgleich laufen per Export und Import. Jede Bestellung kostet Minuten, und die Minuten wachsen mit dem Umsatz.

Pflichten, die der Store nicht abdeckt

Widerrufsbutton, Sicherheitsangaben nach GPSR, Einwilligung vor dem ersten Pixel: Shopify liefert dafür keinen Schalter, und Apps lösen es nur zum Teil.

Shopify-Referenzen aus dem eigenen Shop

Sechs Umsetzungen, die bei LORA in Produktion laufen. Klick öffnet Aufgabe, Aufbau und Ergebnis.

Warenkorb

Bundles mit Rabatt, ohne Bundle-App

Kuratierte Looks aus mehreren Produkten landen mit einem Klick im Warenkorb. Den Rabatt rechnet eine eigene Shopify Function, pro Slot lässt sich zwischen Alternativen wählen. Rabatt-Logik Shopify Function mit zwei Targets Datenmodell Metaobjects für Bundle, Slot und Option Shopify FunctionsMetaobjectsAdmin UI ExtensionLiquidCart API Umsetzung ansehen
Warenkorb

Gratisversand, Geschenk und Mengenrabatt im Warenkorb

Zwei Schwellen auf einer Leiste, ein Geschenk, das der Kunde selbst hinzufügt, und eine Mengenstaffel auf der Produktseite. Alles im Theme, ohne App. Schwellen Gratisversand ab 50 EUR, Geschenk ab 80 EUR Mengenrabatt 20 Prozent ab drei Artikeln LiquidAutomatic DiscountsMetafieldsCart API Umsetzung ansehen
Recht

Widerrufsbutton nach § 356a BGB als eigene App

Kunden widerrufen über einen Button im Footer, zweistufig, mit sofortiger Eingangsbestätigung per E-Mail. Läuft unter der Shop-Domain über einen App Proxy. Pflicht seit 19.06.2026 Adresse unter der Shop-Domain, per App Proxy Shopify AppApp ProxyCloudflare WorkersD1Liquid Umsetzung ansehen
Backoffice

Rechnungen aus Bestellungen, ohne Handarbeit und GoBD-konform

Jede bezahlte Bestellung wird automatisch zur Rechnung in FastBill. Änderungen erzeugen Storno und neue Rechnung, Erstattungen eine Gutschrift. Status und Download stehen in der Bestellung im Admin. Auslöser Webhook "Bestellung bezahlt" Änderungen Storno plus neue Rechnung, nie Bearbeitung Shopify WebhooksAdmin UI ExtensionCloudflare WorkersDurable ObjectsFastBill API Umsetzung ansehen
Backoffice

Stückkosten und Preise aus einer eigenen Kalkulation

Material, Energie, Maschine, Arbeit und Verpackung ergeben Stückkosten je Variante. Die Kalkulation schreibt sie in Shopify zurück und leitet Preise aus der Zielmarge ab. Kennzahl Deckungsbeitrag pro Druckstunde Rückschreibung Kosten pro Artikel in Shopify Admin GraphQL APICloudflare WorkersD1Cloudflare Access Umsetzung ansehen
Tracking

Tracking über Custom Pixel, GTM und Server-Container

Ein eigener Custom Pixel liest die Einwilligung aus Shopify, setzt Consent Mode v2 und meldet die Shop-Events an GA4 und Google Ads. Nachgemessen: Vor der Einwilligung lädt kein Pixel. Einwilligung Consent Mode v2 aus Shopify Customer Privacy Server-Container auf eigener Subdomain des Shops Custom PixelGoogle Tag ManagerServer-Side GTMConsent Mode v2Playwright Umsetzung ansehen

Was ich als Shopify-Entwickler umsetze

Ein Shopify-Entwickler baut, erweitert und verbindet Shops auf Shopify: im Theme, mit eigenen Apps und Functions und über Schnittstellen zu anderen Systemen. Diese sechs Bereiche setze ich selbst um.

Theme-Entwicklung

Sections, Blocks und Snippets in Liquid auf Basis von Online Store 2.0 und Horizon. Neue Funktionen kommen ins Theme statt als weitere App, damit Ladezeit und Wartbarkeit erhalten bleiben. Entwickelt wird auf einem Dev-Theme, nie im Live-Theme.

Shopify Functions und eigene Apps

Rabatt-, Cart- und Checkout-Logik als Shopify Function, Erweiterungen im Admin als UI Extension, eigene Apps mit App Proxy unter deiner Domain. Für die Fälle, in denen keine App aus dem Store das Passende kann oder drei Apps zusammen zu teuer und zu langsam werden.

Warenkorb und Conversion

Bundles, Companion-Produkte, Mengenstaffeln, Gratisversand- und Geschenkschwellen, Upsell im Cart Drawer. Umgesetzt mit Metafields, Metaobjects und den Cart-APIs, gemessen am Warenkorbwert und an der Conversion.

Integrationen und Backoffice

Rechnungen, Buchhaltung, Warenwirtschaft, E-Mail-Tools und Marktplätze an Shopify anbinden: über Webhooks, die Admin API und n8n. Mit Wiederholung bei Fehlern und Benachrichtigung, damit nichts still ausfällt.

Tracking und Consent

Custom Pixel für die Shopify Customer Events, Google Tag Manager mit Server-Container, Consent Mode v2 nach Shopify Customer Privacy, Conversion-Werte auf Deckungsbeitrag. Nachgemessen, was vor und nach der Einwilligung tatsächlich lädt.

Migration und Relaunch

Umzug von Shopware, WooCommerce oder Magento zu Shopify: Produkte, Kunden, Bestellungen und ein Redirect-Mapping, das bei den umsatzstarken URLs beginnt. Theme-Wechsel innerhalb von Shopify mit Abgleich der Templates, Metafelder und App-Blöcke.

Einige Kunden, mit denen ich zusammenarbeiten durfte

Seit 2007 im E-Commerce, als Gründer, Inhouse-Verantwortlicher und externer Partner für Online-Shops und E-Commerce-Brands.

Über mich

Shopify entwickle ich für Kunden und für meinen eigenen Shop LORA. Bundles, Widerrufsbutton, Rechnungssync und Tracking laufen dort in Produktion, bevor ich sie für andere Shops umsetze.

Stationen

  1. 2007 Start im SEO Erste Projekte und Konferenzen mit 13 Jahren
  2. 2014-2017 Eigene Gründungen TransformYourBody und qltyfoods
  3. 2017-2019 Interim-Rollen und Beratung Fressnapf, SH Telekommunikation, YAY! Digital
  4. 2021-2024 Director Product & Innovation mobilezone Deutschland
  5. 2024-2026 Director E-Commerce mobilezone Deutschland mit Sparhandy und DEINHANDY
  6. 2026 E-Commerce & Performance freenet Group
  7. Aktuell Freelancer für Shopify und E-Commerce Theme, Functions und eigene Apps für Shopify-Shops

Vom Check zum Livegang

  1. Check Sieben Fragen, Einschätzung in 24 Stunden per E-Mail.
  2. Video-Call 30 Minuten, kostenlos, Umfang und Hebel klären.
  3. Angebot Festpreis für den ersten Schritt, mit klarem Umfang.
  4. Umsetzung Auf Dev-Theme oder Dev-Store. Ich setze selbst um, auf Wunsch mit deinem Team.
  5. Livegang Kontrollierter Rollout mit Rückweg zum vorherigen Stand.
  6. Messung Warenkorbwert, Conversion, gesparte Zeit im Backoffice.

Häufige Fragen zum Shopify Freelancer

Was macht ein Shopify Freelancer?

Ein Shopify Freelancer ist ein selbstständiger Shopify-Entwickler, der Shops eigenverantwortlich aufbaut und weiterentwickelt. Typische Aufgaben sind Theme-Entwicklung in Liquid, eigene Apps und Shopify Functions für Rabatt-, Cart- und Checkout-Logik, die Anbindung von Buchhaltung, Warenwirtschaft und E-Mail-Tools, Tracking mit Consent-Handling sowie Migrationen von anderen Shopsystemen. Der Unterschied zur Agentur liegt in der Besetzung: Du sprichst mit der Person, die den Code schreibt, und diese Person hält das Projekt von der Anforderung bis zum Livegang.

Was macht ein Shopify-Entwickler?

Ein Shopify-Entwickler baut, erweitert und optimiert Online-Shops auf der Plattform Shopify. Zu den Aufgaben gehören die Theme-Entwicklung mit Liquid, HTML, CSS und JavaScript, eigene Apps und Shopify Functions für Rabatt-, Warenkorb- und Checkout-Logik, Erweiterungen im Shopify-Admin, die Anbindung von Buchhaltung, Warenwirtschaft, CRM und E-Mail-Tools über die Admin API und Webhooks, Tracking mit Consent-Steuerung, die Migration von anderen Shopsystemen und die Optimierung der Ladezeit. Shopify-Entwickler arbeiten angestellt, in Agenturen oder selbstständig. Ein Shopify Freelancer ist ein selbstständiger Shopify-Entwickler, der Projekte direkt mit dem Händler umsetzt.

Shopify Agentur oder Freelancer?

Eine Agentur passt, wenn viele Gewerke parallel laufen, etwa Design, Content-Produktion, Paid und Entwicklung mit eigenem Projektmanagement, oder wenn ein großer Shop dauerhaft mehrere Entwickler braucht. Ein Freelancer passt, wenn Konzept und Umsetzung in einer Hand liegen sollen und der Umfang in Tagen bis wenigen Wochen zu schneiden ist: Theme-Anpassungen, eine eigene App oder Function, eine Anbindung, ein Tracking-Setup. Ich bringe dazu die Perspektive aus dem eigenen Shop mit: Bundles, Widerrufsbutton, Rechnungssync und Tracking laufen dort in Produktion, bevor ich sie für andere Shops umsetze.

Was sind Shopify Functions, und wann brauche ich eine?

Shopify Functions sind kleine Programme, die Shopify beim Berechnen des Warenkorbs, der Rabatte, der Versandoptionen und der Zahlungsarten ausführt. Sie laufen auf der Shopify-Infrastruktur, nicht im Browser und nicht auf einem fremden Server, und sind deshalb schnell und zuverlässig. Eine Function brauchst du, wenn eine Regel im Warenkorb nicht mit den Bordmitteln abzubilden ist: ein Rabatt, der nur auf ein vollständiges Set greift, eine Versandoption, die von der Postleitzahl abhängt, oder eine Zahlungsart, die für bestimmte Kundengruppen ausgeblendet wird. Im eigenen Shop läuft der Bundle-Rabatt als Function mit zwei Targets, einem für den Produktrabatt und einem für Gratisversand.

Wann lohnt sich eine eigene App statt einer App aus dem Store?

Store-Apps sind die richtige Wahl, solange eine App genau das tut, was du brauchst, und ihre Skripte die Seite nicht messbar bremsen. Kritisch wird es, wenn du zwei oder drei Apps kombinierst, um einen Anwendungsfall abzudecken, jede monatlich kostet und jede eigenes JavaScript auf jeder Seite lädt. Ab diesem Punkt rechnet sich häufig eine eigene Lösung: eine Function für die Logik, ein Metaobject für die Daten, eine kleine Admin-Erweiterung für die Pflege. Sie kostet einmal Entwicklung, danach keine Gebühr, und sie tut genau das, was der Shop braucht.

Arbeitest du auch mit Shopify Plus und Headless-Setups?

Ja. Bei Shopify Plus kommen Checkout UI Extensions, B2B-Funktionen und mehrere Stores dazu, die Mechanik von Theme, Functions und Apps bleibt dieselbe. Headless mit Hydrogen lohnt sich, wenn das Frontend Anforderungen hat, die ein Theme nicht erfüllt, etwa eine App-artige Oberfläche oder ein Storefront, das mehrere Systeme zusammenführt. Für die meisten Shops ist ein gut gebautes Theme die schnellere und günstigere Lösung, und genau das sage ich im Check, wenn es so ist.

Was kostet ein Shopify Freelancer?

Stundensätze für Shopify-Entwicklung in Deutschland liegen meist zwischen 50 und 150 Euro, abhängig von Erfahrung und davon, ob jemand Themes anpasst oder auch Apps und Functions entwickelt. Ich rechne mit einem Tagessatz von rund 1.500 Euro. Eine Theme-Anpassung wie eine neue Section oder ein Block auf der Produktseite liegt bei ein bis drei Tagen, eine eigene Function oder App mit Admin-Erweiterung beginnt bei rund fünf Tagen, eine Anbindung ans Backoffice je nach System bei zwei bis fünf Tagen. Nach dem Projekt-Check bekommst du eine grobe Einordnung, nach dem Video-Call ein Festpreis-Angebot für den ersten Schritt.

Wie lange dauert ein Shopify-Projekt?

Theme-Anpassungen sind in ein bis zwei Wochen live, inklusive Test auf dem Dev-Theme. Eine eigene App oder Function braucht zwei bis vier Wochen, weil neben der Logik auch Datenmodell, Admin-Oberfläche und Tests entstehen. Migrationen hängen an der Zahl der Produkte, Kunden und URLs und liegen zwischen vier und zwölf Wochen. Ich schneide den Umfang so, dass die erste Version den gewünschten Hebel schon bewegt, und erweitere danach in kleinen Schritten.

Kann ich meinen Live-Shop während der Entwicklung weiter betreiben?

Ja. Entwickelt wird auf einem separaten Dev-Theme oder einem Dev-Store, nie im Live-Theme. Functions und Apps werden zuerst in einem Entwicklungs-Store getestet und dann im Live-Shop installiert. Der Livegang ist ein kontrollierter Schritt mit Rückweg: Das vorherige Theme bleibt erhalten, ein Function-Discount lässt sich deaktivieren, eine App deinstallieren.

Was passiert nach dem Projekt-Check?

Innerhalb von 24 Stunden bekommst du eine Einschätzung per E-Mail: ob und wie sich dein Vorhaben in Shopify umsetzen lässt, ob Theme, App oder Function der passende Weg ist und was das grob kostet. Wenn es passt, klären wir in einem kostenlosen Video-Call von 30 Minuten Umfang und Hebel. Danach folgt ein Festpreis-Angebot für den ersten Schritt, die Umsetzung auf Dev-Theme oder Dev-Store, der Livegang und die Messung an Warenkorbwert, Conversion oder gesparter Zeit.

Setzt du selbst um oder erstellst du nur das Konzept?

Ich setze selbst um: Liquid im Theme, Functions und Apps im Shopify Dev Dashboard, Metaobjects und Metafields im Admin, Anbindungen über Webhooks und n8n. Das Konzept entsteht vorher im Video-Call und im Angebot, die Umsetzung bleibt bei mir. Hat dein Team eigene Entwickler, teilen wir die Arbeit auf, und ich übernehme die Teile, die Shopify-Kenntnis in Functions, Extensions oder im Theme brauchen.

Arbeitest du mit meinem Team oder meiner Agentur zusammen?

Ja, das ist häufig der Fall. Ich ergänze bestehende Teams als Entwickler für Shopify-Themen, liefere Briefings mit konkreten Dateien und Schnittstellen für andere Entwickler oder übernehme die Abnahme von Agentur-Arbeit. Übergaben laufen über Git und eine Dokumentation, die erklärt, warum etwas so gebaut ist, nicht nur was.

Wem gehört der Code nach dem Projekt?

Dir. Theme-Code liegt in deinem Shopify-Store und auf Wunsch in deinem Git-Repository. Eigene Apps und Functions werden als Custom Apps in deinem Shopify Dev Dashboard angelegt, mit deinen Zugängen. Externe Dienste, etwa ein Worker für einen App Proxy, laufen in einem Konto, das dir gehört oder auf dich übertragen wird. Es gibt keine Abhängigkeit von meiner Infrastruktur.

Übernimmst du auch die laufende Betreuung?

Ja, als fester externer Entwickler mit einem monatlichen Kontingent oder projektweise nach Bedarf. Typische laufende Themen sind Theme-Updates mit Abgleich der eigenen Anpassungen, neue Sections für Kampagnen, Änderungen an Functions, wenn sich Rabattregeln ändern, und die Pflege der Anbindungen, wenn ein Drittsystem seine API umstellt.

Kannst du meinen Shop zu Shopify migrieren?

Ja. Eine Migration von Shopware, WooCommerce, Magento oder einem eigenen System umfasst Produkte mit Varianten und Metafeldern, Kunden, Bestellhistorie und die URL-Struktur mit 301-Weiterleitungen, damit die Google-Rankings den Umzug überstehen. Der SEO-Teil beginnt bei den umsatzstarken URLs und wird nach dem Livegang überwacht. Ob sich der Wechsel für dich lohnt, klären wir im Check anhand von Sortiment, Apps und Anbindungen.

Let's talk

Der Projekt-Check ist der eine Weg, dieses Formular der andere. Schreib mir direkt, wenn du dein Vorhaben lieber frei beschreibst oder eine andere Frage hast.

Oder direkt per WhatsApp:

WhatsApp-Chat starten
Antwort in der Regel innerhalb von 24 Stunden
user
envelope
company

Eigener Shopify-Shop LORA, Deko und WohnaccessoiresLäuft seit 05/2026

Bundles mit Rabatt, ohne Bundle-App

Looks aus drei bis fünf Produkten sollten als Set verkauft werden, mit Rabatt auf das Set und Wahlmöglichkeit pro Position. Bundle-Apps aus dem Store legen dafür entweder ein Ersatzprodukt an, sodass die Einzelprodukte im Warenkorb und im Bestand verschwinden, oder arbeiten mit Rabattcodes, die sich nicht mit anderen Aktionen kombinieren lassen. Dazu kommen Monatsgebühren und Skripte, die auf jeder Seite laden.

Rabatt-Logik
Shopify Function mit zwei Targets
Datenmodell
Metaobjects für Bundle, Slot und Option
Pflege
Eigene Admin-Erweiterung, Import per JSON
Tests
13 Unit-Tests für die Rabattregeln
Look-Seite auf justlora.de: zwei Produktkarten mit Varianten-Auswahl, rechts die Zusammenfassung "Dein Look" mit Einzelpreis, Bundle-Preis und dem Button "Alle in den Warenkorb"
Look-Seite "Yuna + Baumwolle" auf justlora.de: Slots mit Varianten-Auswahl, rechts die Summe mit Bundle-Rabatt und der Button für den ganzen Look. Stand September 2026.

Was gebaut wurde

AufgabeEin Look besteht aus Slots, jeder Slot aus einem oder mehreren wählbaren Produkten mit eigener Menge. Der Kunde wählt pro Slot, sieht die Summe mit Rabatt und legt alles mit einem Klick in den Warenkorb. Die Einzelprodukte bleiben als eigene Positionen sichtbar, der Bestand wird pro Produkt gebucht.

AufbauDie Bundles liegen als Metaobjects im Shop, verwaltet über eine eigene Erweiterung im Shopify-Admin. Der Rabatt ist eine Shopify Function auf der Discount API: ein Target für den Produktrabatt, ein zweites für Gratisversand. Beim Hinzufügen bekommt jede Position eine Eigenschaft mit Bundle und Slot, und nur so markierte Mengen bekommen den Rabatt. Ein Function-Discount bedient alle Bundles über einen JSON-Snapshot in einem Metafield.

ErgebnisDer Rabatt greift nur auf das vollständige Set: Wer eine Menge nachträglich erhöht oder dasselbe Produkt einzeln dazulegt, zahlt dafür den normalen Preis. Auf der Produktseite erscheinen passende Produkte als Auswahl mit Häkchen, im Warenkorb erinnert eine Karte an fehlende Positionen des Looks. Keine App-Gebühr, kein Fremdskript im Theme.

Im Detail

  • Anzahl der Bundles im Warenkorb ist das Minimum über alle Slots aus Menge geteilt durch Slot-Menge; der Rabatt zielt auf genau diese Menge, nicht auf die ganze Position.
  • Pro Slot-Option ein eigener Preisaufschlag oder -abschlag, damit ein teureres Alternativprodukt den Bundle-Preis korrekt verändert.
  • Die Admin-Erweiterung legt Metaobject- und Metafield-Definitionen selbst an und migriert ältere Bundle-Daten beim ersten Öffnen.
  • Produktseite: Companion-Produkte als Checkboxen unter dem Varianten-Picker, beim Add-to-Cart wandern Anker und Companions zusammen in den Warenkorb.
  • Cart Drawer: liegt ein Produkt aus einem Look ohne das Set im Warenkorb, zeigt eine Karte die fehlenden Slots mit Varianten-Picker und Preis.

Aus der Umsetzung

Discount API statt Cart Transform: Cart Transform fasst die Positionen zu einem Bundle-Artikel zusammen, damit verschwinden Einzelpreise und Bestandsbuchung pro Produkt. Für Sets aus Lagerware ist der Rabatt auf die einzelnen Positionen die einfachere und ehrlichere Darstellung im Warenkorb.

Shopify FunctionsMetaobjectsAdmin UI ExtensionLiquidCart API

Eigener Shopify-Shop LORA, Deko und WohnaccessoiresLäuft seit 06/2026

Gratisversand, Geschenk und Mengenrabatt im Warenkorb

Der Warenkorb sollte drei Anreize zeigen: Gratisversand ab einer Schwelle, ein Gratis-Geschenk ab einer zweiten Schwelle und einen Mengenrabatt ab drei Artikeln. Apps dafür setzen auf JavaScript im Cart Drawer, das mit dem Horizon-Theme kollidiert, weil Shopify den Warenkorb bei jeder Änderung serverseitig neu rendert. Geschenk-Apps legen das Gratisprodukt automatisch in den Warenkorb und entfernen es wieder, was zu Sprüngen im Preis führt.

Schwellen
Gratisversand ab 50 EUR, Geschenk ab 80 EUR
Mengenrabatt
20 Prozent ab drei Artikeln
Rendering
Liquid, ohne JavaScript im Cart
Geschenk
per Klick, mit automatischer Rücknahme
Cart Drawer auf justlora.de mit zwei Artikeln und einer Fortschrittsleiste "Fast geschafft, nur noch 1 Artikel für 20 % auf alles"
Cart Drawer auf justlora.de mit zwei Artikeln: Die Fortschrittsleiste zeigt den fehlenden Artikel bis zum Mengenrabatt, gerendert in Liquid. Stand September 2026.

Was gebaut wurde

AufgabeDer Kunde sieht im Warenkorb, wie weit er von Gratisversand und Geschenk entfernt ist, und auf der Produktseite, ab welcher Menge der Rabatt greift. Der Rabatt selbst bleibt ein nativer automatischer Rabatt in Shopify, das Theme zeigt ihn nur an.

AufbauDie Belohnungsleiste ist ein Liquid-Snippet mit zwei Markern und segmentweisem Füllstand, gerechnet aus dem Warenkorbwert vor Rabatten. Die Mengenstaffel auf der Produktseite liest ihre Stufen aus einem Metafield und rendert nichts, wenn das Feld fehlt. Das Geschenk fügt der Kunde per Button hinzu; ein kleines Skript entfernt es wieder, sobald der qualifizierende Warenkorbwert unter die Schwelle fällt.

ErgebnisAlle Anzeigen bleiben nach jeder Warenkorb-Änderung korrekt, weil sie mit der Cart-Section serverseitig neu gerendert werden. Kein stiller Sprung von null auf Vollpreis beim Geschenk, keine zusätzliche App, keine Skripte auf Seiten ohne Warenkorb.

Im Detail

  • Die Geschenkschwelle prüft den Warenkorbwert vor Rabatten, dieselbe Basis wie der native Kauf-X-bekomme-Y-Rabatt, damit beide nie auseinanderlaufen.
  • Die Fortschrittsleiste für den Mengenrabatt zählt Artikel, nicht Wert, und zeigt "noch X Artikel für Y Prozent".
  • Die Staffel-Box ist ein Block für alle Produkt-Templates; welche Stufen gelten, steht pro Produkt im Metafield.
  • Kein automatisches Hinzufügen des Geschenks: Der Kunde stimmt aktiv zu, deshalb gibt es keine Schleife aus Hinzufügen und Entfernen.

LiquidAutomatic DiscountsMetafieldsCart API

Eigener Shopify-Shop LORA, Deko und WohnaccessoiresLäuft seit 06/2026

Widerrufsbutton nach § 356a BGB als eigene App

Seit dem 19.06.2026 müssen Online-Shops Verbrauchern einen Widerrufsbutton anbieten: leicht zu finden, zweistufig mit Bestätigung, und der Händler muss den Eingang unverzüglich mit Datum und Uhrzeit bestätigen. Shopify liefert dafür keinen Schalter. Apps im Store waren zum Stichtag neu, meist mit Monatsgebühr pro Shop und Formular auf einer fremden Domain.

Pflicht seit
19.06.2026
Adresse
unter der Shop-Domain, per App Proxy
Bestätigung
automatisch, mit Zeitstempel auf die Sekunde
Betrieb
rund 6 bis 10 EUR pro Monat
Widerrufsformular als Overlay über der Startseite von justlora.de, geöffnet über den Footer-Button "Vertrag widerrufen"
Widerrufsformular auf justlora.de als Overlay, geöffnet über den Button "Vertrag widerrufen" im Footer. Das Formular läuft über den App Proxy unter der Shop-Domain. Stand September 2026.

Was gebaut wurde

AufgabeEin Link "Vertrag widerrufen" im Footer öffnet ein gebrandetes Formular als Overlay. Der Kunde füllt Bestellnummer und Kontaktdaten aus, bestätigt im zweiten Schritt mit "Widerruf bestätigen" und bekommt sofort eine E-Mail mit Eingangszeitpunkt. Der Händler sieht alle Widerrufe in einem Dashboard mit Status und Export.

AufbauFormular, Speicherung und E-Mail laufen auf einem Cloudflare Worker mit D1-Datenbank. Eine eigene Shopify-App ohne Zugriffsrechte dient nur als App Proxy: Der Shop leitet den Pfad /apps/widerruf an den Worker weiter, die Proxy-Signatur wird geprüft. Im Theme liegt ein Snippet, das den Button rendert und ohne JavaScript direkt auf das Formular verlinkt.

ErgebnisDer Widerruf läuft vollständig unter der Shop-Domain, ohne fremde Adresse für den Kunden und ohne Monatsgebühr. E-Mail-Adresse und IP werden nur als Hash gespeichert, damit Suche und Dublettenprüfung ohne Klartext funktionieren. Der Dienst ist mandantenfähig gebaut: Ein zweiter Shop braucht eine Konfiguration, keine Änderung am Code.

Im Detail

  • Zwei Betriebsmodi pro Shop: nur Nachweis ohne Personendaten oder verschlüsselte Speicherung, wahlweise mit Schlüssel des Händlers.
  • Drei Stufen für den E-Mail-Versand: über die Service-Domain, über die Domain des Händlers per DKIM, oder der Händler versendet selbst.
  • Captcha über Cloudflare Turnstile, damit das öffentliche Formular nicht zum Spam-Eingang wird.
  • Webhook-Anschluss für n8n, Zapier oder Make, damit ein Widerruf im Ticketsystem oder in der Warenwirtschaft ankommt.

Aus der Umsetzung

Der App Proxy ist die entscheidende Stelle: Ohne ihn läge das Formular auf einer workers.dev-Adresse, und Kunden müssten dem Absprung von der Shop-Domain trauen. Mit Proxy bleibt alles same-origin, auch für Cookies und Consent.

Shopify AppApp ProxyCloudflare WorkersD1Liquid

Eigener Shopify-Shop LORA, Deko und WohnaccessoiresLäuft seit 06/2026

Rechnungen aus Bestellungen, ohne Handarbeit und GoBD-konform

Rechnungen wurden aus dem Bestellexport von Hand in der Buchhaltung angelegt. Bei Änderungen an Bestellungen und bei Erstattungen stimmten Beträge nicht mehr mit Shopify überein, und nachträgliche Bearbeitungen einer Rechnung sind nach GoBD nicht zulässig. Der Abgleich kostete pro Bestellung mehrere Minuten.

Auslöser
Webhook "Bestellung bezahlt"
Änderungen
Storno plus neue Rechnung, nie Bearbeitung
Nachlauf
verlorene Webhooks binnen 24 Stunden nachgeholt
Im Admin
Status, Download und Aktionen in der Bestellung

Was gebaut wurde

AufgabeSobald eine Bestellung bezahlt ist, entsteht die Rechnung mit denselben Brutto-Beträgen wie in Shopify. Wird die Bestellung geändert, wird die Rechnung storniert und neu erstellt. Bei Erstattungen entsteht eine Gutschrift. Im Bestell-Detail zeigt ein Block Status, Download-Link und Verlauf, das Aktionsmenü bietet "Rechnung erstellen" und "Storno".

AufbauEin Cloudflare Worker nimmt die Shopify-Webhooks entgegen, prüft die Signatur vor dem Parsen und speichert jede Webhook-ID, damit ein doppelt zugestellter Webhook keine zweite Rechnung erzeugt. Ein Durable Object pro Shop reiht die Aufrufe an FastBill nacheinander ein, weil Rechnungsnummern fortlaufend vergeben werden, mit Wiederholung bei Fehlern. Ein Cron-Job holt Bestellungen nach, deren Webhook nicht angekommen ist.

ErgebnisRechnungen entstehen ohne Zutun, die Beträge stimmen mit Shopify überein, und jede Änderung ist als Storno und Neuanlage nachvollziehbar. Der Rechnungsstatus ist dort sichtbar, wo im Alltag gearbeitet wird: in der Bestellung im Shopify-Admin.

Im Detail

  • Brutto-Preise mit Steuer als Basis, damit die Summen exakt zu den Shopify-Bestellungen passen.
  • Erkennung von Stornos, die direkt in FastBill vorgenommen wurden, damit der Status im Admin nicht veraltet.
  • Zwei Admin-Erweiterungen: ein Block im Bestell-Detail und eine Aktion im Menü, beide mit Zugriff auf Admin API und Worker.
  • API-Schlüssel liegen verschlüsselt ab, Bulk-Nachlauf für alte Bestellungen beim Einrichten.

Aus der Umsetzung

Die Reihenfolge zählt: Zwei Bestellungen, die in derselben Sekunde bezahlt werden, dürfen keine Rechnungsnummer überspringen. Die Warteschlange pro Shop löst das, ohne dass die Webhooks selbst warten müssen.

Shopify WebhooksAdmin UI ExtensionCloudflare WorkersDurable ObjectsFastBill API

Eigener Shopify-Shop LORA, Deko und Wohnaccessoires aus dem 3D-DruckLäuft seit 06/2026

Stückkosten und Preise aus einer eigenen Kalkulation

Die Preise im Shop waren geschätzt, die Stückkosten standen in einer Tabelle, die mit Filamentpreisen und Druckzeiten nicht mitwuchs. Ohne Kosten pro Artikel in Shopify fehlte die Basis für Deckungsbeitrag-Auswertungen und für Conversion-Werte in Google Ads, die den Gewinn abbilden statt den Umsatz.

Kennzahl
Deckungsbeitrag pro Druckstunde
Rückschreibung
Kosten pro Artikel in Shopify
Preisrollout
30 Varianten per Admin API
Live seit
06/2026

Was gebaut wurde

AufgabePro Produkt werden Materialverbrauch, Druckzeit, Energie, Maschinenkosten, Arbeitszeit und Verpackung erfasst. Daraus entstehen Stückkosten und ein Verkaufspreis bei Zielmarge. Die Stückkosten landen als "Kosten pro Artikel" in Shopify, die Preise werden gesammelt ausgerollt.

AufbauDie Kalkulation ist ein kleines internes Tool auf einem Cloudflare Worker mit D1-Datenbank und einer Oberfläche ohne Build-Schritt. Die Rechenlogik liegt getrennt vom Rest und ist ohne Datenbank testbar. Der Zugriff auf Shopify läuft über den Client-Credentials-Grant der Admin API, weil Shopify für neue Custom Apps keine statischen Zugriffstoken mehr ausgibt. Der Zugang zum Tool ist über Cloudflare Access geschützt, eine eigene Anmeldung gibt es nicht.

ErgebnisJede Variante hat belastbare Stückkosten, Preise folgen einer Regel statt einer Schätzung, und Versand wird bewusst nicht in die Stückkosten gerechnet, sondern pro Bestellung geführt. Die Kosten pro Artikel in Shopify sind die Grundlage für Deckungsbeitrag-Berichte und für die Übergabe des Deckungsbeitrags als Conversion-Wert an Google Ads.

Im Detail

  • Engpass-Logik: Bei 3D-Druck ist die Druckerstunde die knappe Ressource, deshalb wird der Deckungsbeitrag pro Druckstunde ausgewiesen, nicht nur pro Stück.
  • Wirtschaftlichkeits-Gate vor jedem neuen Produkt: Marge, Break-even-ROAS und maximale Kundenkosten je Bestellung.
  • Preisänderungen laufen als Bulk-Mutation mit Sicherung der alten Preise, damit ein Rollback in einer Minute möglich ist.
  • Druckprofile pro Drucker und Material, damit Energie- und Maschinenkosten je Produkt nachvollziehbar bleiben.

Admin GraphQL APICloudflare WorkersD1Cloudflare Access

Eigener Shopify-Shop LORA, Deko und WohnaccessoiresLäuft seit 05/2026

Tracking-Apps aus dem Store laden ihre Pixel oft vor der Einwilligung. Ein Test mit frischem Browser zeigte, dass eine Feed-App den Meta-Pixel bereits beim ersten Seitenaufruf lud und ein Cookie setzte, obwohl der Consent-Banner noch offen war. Dazu fehlte eine belastbare Zuordnung von Anzeigenklicks zu Bestellungen.

Einwilligung
Consent Mode v2 aus Shopify Customer Privacy
Server-Container
auf eigener Subdomain des Shops
Click-IDs
nur mit Einwilligung, höchstens 90 Tage
Nachgemessen
kein Pixel vor der Einwilligung

Was gebaut wurde

AufgabeAlle Shopify-Ereignisse vom Seitenaufruf bis zum Kauf sollen mit Einwilligung in GA4 und Google Ads ankommen, ohne Einwilligung darf nichts laden. Anzeigenklicks sollen der Bestellung zugeordnet werden, damit Conversions auch serverseitig nachgemeldet werden können.

AufbauEin Custom Pixel in Shopify liest den Status aus der Customer-Privacy-API, setzt die Standardwerte für Consent Mode v2, lädt den Google Tag Manager und übersetzt die Shopify-Events in GA4-Events. Der Server-Container läuft auf einer Subdomain des Shops. Ein Skript im Theme speichert Click-IDs aus Google und Meta als Warenkorb-Attribute, aber nur bei erteilter Marketing-Einwilligung, und löscht sie wieder, wenn die Einwilligung entzogen wird.

ErgebnisVor der Einwilligung verlässt nur der Aufruf des Consent-Tools die Seite. Nach der Einwilligung laufen alle Events über den eigenen Container, mit Consent-Signalen für Google. Die Click-IDs an der Bestellung sind die Grundlage, um Google Ads später den Deckungsbeitrag statt den Bestellwert als Conversion-Wert zu melden.

Im Detail

  • Die Consent-Kette wurde headless mit Playwright in vier Durchläufen geprüft: Erstbesuch, Ablehnen, Akzeptieren, Widerruf, jeweils mit Netzwerk-Requests, Cookies und Screenshots.
  • Eigener Link "Cookie-Einstellungen" im Footer, der Consent zurücksetzt und den Banner erneut öffnet, statt das kostenpflichtige Feature des Consent-Tools zu buchen.
  • Fallback für den Checkout-Start, falls Shopify das Event nicht liefert, mit Warenkorbwert und Artikelanzahl.
  • Buy-the-Look-Klicks laufen als eigenes Event über Shopify Analytics, keine direkten Aufrufe von gtag oder fbq im Theme.

Aus der Umsetzung

Der Test mit frischem Browser ist der einzige Beleg, der zählt. Die Einstellungen im Consent-Tool sagen, was passieren soll; die Netzwerk-Requests zeigen, was passiert.

Custom PixelGoogle Tag ManagerServer-Side GTMConsent Mode v2Playwright

Shopify Projekt-Check

Wo steht dein Shop heute?

Nach der Auswahl geht es von allein weiter.

Was soll in deinem Shop entstehen?

Mehrfachauswahl, höchstens drei.

Was soll der neue Shop bekommen?

Mehrfachauswahl, höchstens drei.

Was genau soll passieren?

Zwei, drei Sätze reichen: Was sollen Kunden oder dein Team danach können, und was steht heute im Weg?

Wie viel Umsatz macht der Shop im Monat?

Optional, hilft bei der Einordnung des Aufwands.

Wann soll es live sein?
Welcher Budgetrahmen ist realistisch?

Theme-Anpassungen beginnen bei rund 1.500 EUR, eigene Apps und Functions bei rund 7.500 EUR.

Deine Rolle
Fast fertig: Wohin soll die Einschätzung gehen?

Du bekommst per E-Mail: ob und wie sich dein Vorhaben in Shopify umsetzen lässt, ob Theme, App oder Function der passende Weg ist und was das grob kostet.

Optional. Wenn der Shop schon live ist, sehe ich ihn mir vor der Antwort an.

Kostenlos und unverbindlich. Antwort innerhalb von 24 Stunden.

Wenn es passt, geht es so weiter

  1. Video-Call 30 Minuten, kostenlos, Umfang und Hebel klären.
  2. Angebot Festpreis für den ersten Schritt.
  3. Umsetzung Auf Dev-Theme oder Dev-Store, ich setze selbst um.
  4. Livegang Kontrollierter Rollout mit Rückweg.
  5. Messung Warenkorb, Conversion, gesparte Zeit.