Liquid, JavaScript, Themes
Hallo zusammen,
ich habe aktuell ein Problem. Die Rabatt Funktion Kaufe X, Y gibt's extra will nicht so recht funktionieren. Es wird mir und meinen Kunden immer Wieder angezeigt, dass der Rabatt für die Artikel im Warenkorb nicht gültig ist. Ich habe bereits alles versucht und es ist auch korrekt eingerichtet. Hatte jemand ein ähnliches Problem?
Danke
Beste Grüße,
David
Gelöst! Zur Lösung
Erfolg.
Hey @KoolKidKris
Nur so dass ich den Sachverhalt richtig verstehe, der Kunde bekommt einen automatischen BOGOF (buy 1 get 1 free) Rabatt wenn er einen Gesamtpreis im Checkout hat der >€90 ist. Dazu bekommt der Kunde dann ein Gratisprodukt, ist das richtig?
Gut, somit wäre das erwartete Systemverhalten und Workflow das folgende: der Kunde muss sowohl die Produkte in den Warenkorb hineinlegen die einen Wert von >€90, ALS AUCH das geschenkte Gratisprodukt, um den Rabatt in Anspruch zu nehmen.
Ich verstehe dass das nicht optimal ist, aber derzeit muss der Kunde "beide" Produkte in den Warenkorb legen - den gekauften als auch den geschenkten. Man kann z. B. den Kunden darauf hinweisen, wie mit einem Text wie dem folgenden:
Die andere reibungslosere Option wäre es, einige unserer Rabatte Apps auszuprobieren, da diese zusätzliche Features und Anwendungsfälle anbieten, die man ausprobieren kann, wie das, was du beschreibst und was du zu erreichen versuchst.
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
Habe das selbe Problem, weiß auch nicht was man noch machen kann
Hab gerade den support angeschrieben, ich werde es hier drunter schreiben wenn ich was weiß.
Vielen Dank, dass ihr euch bei uns bzgl. dem "BOGOF" (buy 1 get 1 free) Rabattcode Problem gemeldet! Ich verstehe, dass ihr das so einrichten wollt, so dass eure Kunden oder die eurer Klienten an der Kasse Rabatte einlösen und geniessen können. Schauen wir dass wir das im Handumdrehen jetzt hier lösen! Siehe auch meinen Leitfaden zu Rabatte und BFCM hier.
Im Grunde ist es so, dass es zwei Varianten der Buy X Get Y Rabatte gibt und beide haben Bedingungen die erfüllt werden müssen bevor man den Code einlösen kann. Wenn diese Bedingungen nicht erfüllt sind dann wird man die Fehlermeldungen im Checkout zu sehen bekommen von dem ihr berichtet habt. Bei einer Variante muss der Kunde eine bestimmte Menge an Produkten in den Cart legen, um den Rabatt zu erhalten, und bei der anderen muss er einen bestimmten Gesamt-Geldbetrag im Cart erreichen, um den Rabatt zu erhalten. Sind diese Bedingungen nicht erreicht so wird man die Fehlermeldung im Checkout sehen.
Wenn das nicht zutrifft, dann bitte ich euch hier ein paar mehr Details rein zu hängen, z. B. wie das folgende:
VG,
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
Ok das ergibt Sinn, so funktioniert es. Aber viel zu umständlich um das irgendeinem Kunden zu verklickern. Trotzdem danke
Hallo @Gabe , ich habe mich durch alle Anleitungen gearbeitet und will erreichen:
- Kunde legt Ware für >90 in den Warenkorb
- er erhält ab dieser Grenze ein Gratisprodukt
- Automatischer Rabatt.
Leider passiert gar nichts und zwar bei Kunden und wenn ich das selbst ausprobiere.
Was mache ich hier falsch, kannst Du helfen bitte?
Erfolg.
Hey @KoolKidKris
Nur so dass ich den Sachverhalt richtig verstehe, der Kunde bekommt einen automatischen BOGOF (buy 1 get 1 free) Rabatt wenn er einen Gesamtpreis im Checkout hat der >€90 ist. Dazu bekommt der Kunde dann ein Gratisprodukt, ist das richtig?
Gut, somit wäre das erwartete Systemverhalten und Workflow das folgende: der Kunde muss sowohl die Produkte in den Warenkorb hineinlegen die einen Wert von >€90, ALS AUCH das geschenkte Gratisprodukt, um den Rabatt in Anspruch zu nehmen.
Ich verstehe dass das nicht optimal ist, aber derzeit muss der Kunde "beide" Produkte in den Warenkorb legen - den gekauften als auch den geschenkten. Man kann z. B. den Kunden darauf hinweisen, wie mit einem Text wie dem folgenden:
Die andere reibungslosere Option wäre es, einige unserer Rabatte Apps auszuprobieren, da diese zusätzliche Features und Anwendungsfälle anbieten, die man ausprobieren kann, wie das, was du beschreibst und was du zu erreichen versuchst.
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
Hallo @Gabe
Habt Ihr vor, dieses Verhalten in Zukunft anzupassen? Wie du selbst schreibst, ist das native Verhalten in diesem Fall wenig sinnvoll, praxisfern und ein solcher Rabatt in der Umsetzung eher umständlich. Unter Automatisch verstehe ich nicht, dass der Kunde weitere Schritte tätigen muss, um vom Rabatt profitieren zu können.
Ich erwarte bei einem automatischen Rabatt, dass bei Erreichen der gesetzten Bedingung, der Rabatt automatisch gewährt oder ein das gratis Produkt automatisch dem Warenkorb zugefügt wird. Optimal wäre es, wenn der Kunde beim Hinzufügen rabattberechtigter Artikel in den Warenkorb dort gleich eine Meldung angezeigt bekommt, dass er beim Kauf dieses Artikels den definierten Artikel gratis dazu bekommt oder von einem Rabatt profitieren kann. Dies würde das Kaufbegehren meiner Meinung nach sogar noch steigern.
Leider stelle ich immer wieder fest, dass Ihr für solche scheinbar simplen Probleme eine meist kostenpflichtige App empfehlt. Dies finde ich ehrlich gesagt etwas schade, denn offensichtlich erwarten die meisten ein Verhalten wie von mir oben beschrieben.
Solches Feedback sollte man doch in die Weiterentwicklung der Plattform einfliessen lassen, oder sehe ich das falsch?
Hi @SwissChris ich bin auch ganz deiner Meinung ich suche leider vergebens nach solch einer Funktion! Der Verweis auf kostenpflichtige Apps ist für mich auch keine Lösung! Ich wäre auch sehr dankbar wenn @Gabe (Shopify) solch eine Lösung anbieten würde.
Der Kunde soll ein Produkt in den Warenkorb legen und automatisch eine kostenlose Produktzugabe ( Produkt 2) im Warenkorb beigefügt bekommen.
Ist das ein bestimmtes Produkt X oder nur jegliches Produkt das einen bestimmten Wert über einer bestimmten Schwelle haben muss? So ganz klar und einfach ist die ganze Logik nicht ohne einen konkreten Use-Case und Beschreibung der genauen Schritte sowie des genauen Vorteils für den Käufer. Momentan kann ich den Vorteil für den Käufer nicht so ganz klar erkennen, wenn ich eure Beschreibungen oben lese.
Also, gestatten, werde ich unten meine Kritik diesbzgl. geben sowie ein paar Coding Lösungen weiter unten die ich aus den versch. Shopify Ressourcen (Help Center, Developer Doku, Foren-Beiträge usw.) entnommen habe.
Meine Kritik dazu:
Habt ihr extensives User-testing gemacht mit etwas A/B Split testing um zu sehen ob sich die Implementierung des oben-beschriebenes Ziels wirklich rentiert, sprich, einen signifikanten Effect-Power auf das User-Verhalten haben wird?
Was genau soll Logik des Use-Case sein und was ist der Vorteil für die UX oder Kundenerlebnis, dass die nativen manuelle oder automatische Rabatt-Typen nicht auch anbieten können? Man darf nicht aus den Augen verlieren, dass es für euch als Shopinhaber total logisch und von Vorteil scheint. Aber wie sieht es aus der Perspektive des Users aus? Empfindet der User dasselbe was du als Ladeninhaber über diesen bestimmten Use-Case empfindest? In vielen Fällen ist die Antwort schlicht und einfach - Fehlanzeige!
Ich habe Jahre-lange Erfahrung mit dem Disziplin UX und Design-Thinking wo der Schwerpunkt die User Perspektive ist, sowie eine Abkehr von dem was wir alle so gewohnt sind - unsere eigene Ego-perspektive die uns oft in die Quere kommt. Beispiel:
Wie gesagt, meine erste Frage: habt ihr das mit Best Practices und User-Testing wissenschaftlich ausgewertet?
Was ist wenn der Kunde diesen Rabatt nicht erwartet oder nicht will? So ein Rabatt kann in die richtige Richtung gehen, aber genauso nach hinten losgehen. Kunden sind super leicht verwirrbar beim Online Kaufen da sie Angst um ihr hart verdientes Geld und um die Sicherheit deren Zahlungsangaben haben die sie in euren Checkout eintragen müssen, um zu bezahlen. Das Misstrauen in einen Warenkorb der vom System automatisch geändert wurde aufgrund dieses BOGOF Rabatts kann sehr gross sein.
Abgesehen davon, ist die automatische Hinzufügung von Produkten zum Warenkorb in einigen Jurisdictions rechtlich problematisch, da es als Zwangsverkauf von manchen Kunden interpretiert werden könnte. Man möchte ja keine Abmahnung bekommen! 😉
Jeglicher Schnickschnack wie ein plötzlich erscheinendes Gratis Produkt im Cart "can spook the horse", sprich, einen Kunden erschrecken und aus der Fahrt bringen. Wenn du diesen Prospect dann nicht als abgebrochenen Warenkorb verloren hast, hast du eigentlich Glück gehabt.
Fazit: was ihr als anstrebbares Ziel sieht, ist nicht immer dasselbe aus der Perspektive des Verbrauchers.
Ein paar Lösungen zu euer beschriebenes Problem und die Limits des Systems:
Für eine automatische Hinzufügung des kostenlosen Produkts, sobald bestimmte Bedingungen erfüllt sind, wären Änderungen am Shopify-Cart-Script oder die Nutzung von Drittanbieter-Apps erforderlich.
Beispielsweise gibt es Shopify-Apps wie "Gift On Order by WebPlanex" oder "Automatic Discount" die eine solche Funktion bieten. Mit diesen Apps kann man bestimmte Regeln einstellen, die dann beim Erreichen eines bestimmten Warenkorbwerts automatisch ein Geschenk hinzufügen.
Aber ihr wollt keine App dafür bezahlen also schauen wir weiter wie man das im Code implementieren kann:
Ohne eine Drittanbieter-App müsste man in den Shopify Liquid-Code gehen und hier gibt es auch Möglichkeiten, aber lieber zusammen mit einem erfahrenen Shopify Entwickler.
Wenn du es selber auf deiner Cartseite programmieren möchtest dann bitte immer in einer Themekopie/Testumgebung zuerst testen. Änderungen zu deinem Theme Code können auch 1) die Page Loading Speeds negative beeinflussen und 2) dein Theme aus den Theme Updates ausschließen. Das folgende ist Theme-abhängig, ohne Gewähr und dient lediglich dazu dich in die richtige Richtung zu weisen!
Ein mögliches Vorgehen für das automatische Hinzufügen eines kostenlosen Produkts zum Warenkorb mit Liquid, wäre einen Code zu implementieren der eine Überprüfung der Gesamtsumme des Warenkorbs durchführt und dann bei Überschreitung eines bestimmten Werts das kostenlose Produkt hinzufügt.
Der folgende Liquid Code ist ein Beispiel dass man in der cart.liquid
Datei platzieren könnte:
{% if cart.total_price > 9000 %}
{% assign found = false %}
{% for item in cart.items %}
{% if item.product.handle == 'dein-free-product-handle' %}
{% assign found = true %}
{% endif %}
{% endfor %}
{% unless found %}
Dieser Warenkorb qualifiziert sich für ein kostenloses Produkt! Bitte besuchen Sie die Produktseite [hier](link-to-product) um es Ihrem Warenkorb hinzuzufügen.
{% endunless %}
{% endif %}
Der Snippet überprüft, ob der Gesamtpreis des Warenkorbs 90 Euro (9000 Cent, da Shopify Preise in Cent handhabt) überschreitet, und zeigt dann eine Nachricht an, dass der Kunde für ein kostenloses Produkt berechtigt ist.
Einfach 'dein-free-product-handle
' mit dem Handle des kostenlosen Produkts und 'link-to-product' mit dem tatsächlichen Link zu diesem Produkt ersetzen.
Der Kunde muss aber immer noch das Produkt manuell zum Warenkorb hinzufügen. Man kann eine erweiterte Implementierung mit Javascript erstellen, um das Produkt automatisch hinzuzufügen und den Nutzer darauf hinzuweisen, wie z. B. wie folgt:
Man kann den Shopify Ajax API verwenden, um Produkte zum Warenkorb hinzuzufügen. Zuerst den bereits oben vorgestellten Liquid-Code in der cart.liquid
Datei einbauen, um zu überprüfen, ob das kostenlose Produkt bereits im Warenkorb ist. Dann einen JavaScript in eine JS-Datei oder in einen <script
>-Tag in der theme.liquid
Datei ergänzen wie der folgende:
document.addEventListener('DOMContentLoaded', function(){
$.getJSON('/cart.js', function(cart) {
if (cart.total_price > 9000) {
var freeProductInCart = false;
var freeProductVariantId = 1234567890; // Ersetze dies durch die Varianten-ID des kostenlosen Produkts.
for (var i = 0; i < cart.items.length; i++) {
if (cart.items[i].id === freeProductVariantId) {
freeProductInCart = true;
break;
}
}
if (!freeProductInCart) {
$.post('/cart/add.js', {
items: [
{
id: freeProductVariantId,
quantity: 1
}
]
}).done(function() {
alert('Ein kostenloses Produkt wurde zu Ihrem Warenkorb hinzugefügt!');
location.reload();
});
}
}
});
});
Ersetze einfach 1234567890
mit der tatsächlichen Variante-ID des kostenlosen Produkts. Die Variante-ID kann auf der Produktseite im Admin-Bereich gefunden werden.
Hoffe das hilft! 😉
Wow @Ben310 , da hat sich einer Mühe gemacht mit antworten. Vielen Dank für deine ausführlichen Tipps und die Coding-Beispiele. Ich schätze solche Inputs, wie du sie gibst, sehr!
Erst mal vorab, du scheinst sehr tief im ganzen Thema drin zu sein und machst das, wenn ich es richtig herauslese, Hauptberuflich. Du kennst dich offensichtlich einiges besser mit jeglichen Aspekten eines erfolgreichen Shops und dessen Programmierung aus, als ich.
Ich möchte dir meine Situation etwas beschreiben, damit du dich auch in meine versetzen kannst:
Ich betreibe ein Geschäft für Fahr- und Motorräder (bin selbst gelernter Fahrrad- und Motorradmechaniker). Ich habe mir selbst HTML / CSS, etwas Javascript und PHP beigebracht und damit meine eigene Homepage erstellt, sowie einige Änderungen im Theme meines Shops umgesetzt. Somit ist das Programmieren für mich mehr ein Hobby / Nebengeschäft und mein Shop dient mir hauptsächlich als "Online-Schaufenster". Ich weiss zwar, was A/B Testing ist und verstehe auch den Nutzen und die Sinnhaftigkeit der von dir beschriebenen Prozesse, diese lassen sich aus meiner Sicht aber nicht oder nur beschränkt auf ein Geschäft / Shop meiner Grösse anwenden. Dafür erreicht mein Shop nicht genug traffic und Verkaufsabschlüsse. Zudem sind viele meiner Produkte nur einmal verfügbar, was ein solches Testing weiter erschwert. Mein täglich Brot verdiene ich immer noch mit Verkauf und Reparaturen und muss nebenbei noch alle anderen Tätigkeiten eines Geschäftsführers wahrnehmen. Ich kann weder selbst den benötigten Aufwand für ein extensives User Testing betreiben, noch würde es sich finanziell lohnen, jemanden dafür einzustellen (meine Meinung für meinen Shop). Dafür hat mein Shop einfach zu wenig traffic und Umsatz. Das gleiche gilt für meinen Zweck (und vor allem für die Rabatt-Geschichte) auch für bezahlte Apps.
Ich habe mittlerweile schon einige Fahrzeuge über meinen Shop verkaufen können, welche ich sonst nicht verkauft hätte. So gesehen ist mein Shop für mich schon ein kleiner Erfolg. Da meine Produkte durchschnittlich über 1000 Fr. kosten, finanziert sich mein Shop schon nach ein paar Abschlüssen selbst und ich kann einige Zusatzverkäufe erreichen. Ich führe ein mittelständiges Unternehmen und das wird sich auch durch meinen Shop nicht ändern, dafür gibt es auf dem Markt schon zu viele, gut etablierte, grosse Player, mit Leuten, welche den ganzen Tag nichts anderes machen, als was du oben beschreibst.
In meiner Situation soll vor allem das Kosten/Nutzen Verhältnis meines Shops stimmen, was durch bezahlte Apps, welche mir keinen/wenig mehr Verdienst bringen, nicht besser wird. Natürlich kann ich dies, ohne es wie von dir beschriebenen zu testen, nur so mutmassen, da wären wir aber wieder bei der beschriebenen Problematik.
Nun zu meiner Idee, was den automatischen Rabatt angeht:
Wenn jemand bei mir im Geschäft ein Fahrrad kauft, erhällt dieser je nach Wert des Fahrzeuges, einen Rabatt für einen ersten Service. Damit möchten wir natürlich einerseits dem Kunden etwas für seinen Kauf schenken, andererseits diesen zu einem Besuch unserer Werkstatt animieren, was auch funktioniert. Nun wollte ich dies auch online abbilden und dachte mir, man könnte dies ja mittels automatischem Rabatt umsetzen. Wenn der Kunde ein Fahrzeug in den Warenkorb legt, fände ich es schön, man könnte den Kunden informieren, dass er sich mit dem Kauf dieses Artikels für einen Gutschein qualifiziert und ihm diesen allenfalls gleich in den Warenkorb legen. Da das Produkt ja gratis ist, glaube ich nicht, dass dies rechtich bedenklich ist, zudem der Kunde dieses ja, wenn er es aus irgendwelchen Gründen nicht haben möchte, wieder aus dem Warenkorb löschen könnte. Das ist dann aber wohl wieder eine Frage der Interpretation. Für mich wäre zum damaligen Stand der Implementierung schon der Hinweis an den Kunden genug gewesen.
Dieses Verhalten des Shops sollte meiner Meinung nach hauptsächlich positiv auf den Kunden wirken (da wären wir wieder bei der Ego-Perspektive). Es wäre die Meinung, dass es den Kunden zum Abschluss des Kaufs animiert ("wow, hier krieg ich sogar noch was geschenkt") . Ob diese Wirkung dann beim Kunden wirklich eintrifft, müsste man logischerweise testen, was wiederum in meinem Fall nicht ganz einfach ist, bei der derzeitigen grösse/Abschlussquote meines Shops und vor allem bei den von mir angebotenen Produkten. Ich verkaufe viele Produkte nur einmal und selten das gleiche mehrmals, was natürlich etwas speziell ist und eine A/B Testing fast unmöglich macht.
Zwischenzeitlich habe ich mich, da es sich so wie ich es in meinen vorherigen Beiträgen beschrieben habe, nicht umsetzen liess, gegen einen solchen Rabatt entschieden und trotzdem Verkäufe abgeschlossen. Zudem sind die meisten Verkäufe in relativ weit entfernte Gebiete gegangen und ob ein solcher Kunde den Weg in meine Werkstatt auf sich nehmen möchte, ist eher fragwürdig, somit auch die Sinnhaftigkeit eines solchen Rabattes.
Trotzdem finde ich grundsätzlich die Idee eines solchen Rabattes sinvoll und denke, das ein solches Verhalten des Shops zielführend sein könnte (wiederum ohne es getestet zu haben). Wie du es oben in deinem Coding-Beispiel beschrieben hast, könnte ich es trotzdem noch versuchen umzusetzen, danke also schon mal dafür. Ich mache mir noch ein paar Gedanken dazu und entscheide mich dann, ob es nötig/sinnvoll ist, schliesslich kann ich dem Kunden immer noch nach dem Kauf / bei der Lieferung den Gutschein zustellen.
Cheers
Hey @SwissChris
Gerne helfe ich hier auch und das hört sich spannend an mit deinem Fahrrad Shop! Und es ist wahr, dass nicht alle Praktiken oder Werkzeuge für alle sinnvoll oder anwendbar sind. Deine Produkte werden in der regel nur einmal verkauft und somit ist die baldige Wiederkehr des Kunden eher unwahrscheinlich und auch somit der CLV niedriger. Hast du auch ein "Dies wird mit den folgenden Produkten zusammen verkauft" Abschnitt auf der Produktseite um die AOV zu steigern mit weiteren Accessories wie Sicherheitsausrüstung usw.?
In deinem speziellen Fall, insbesondere wenn die Mehrzahl der Verkäufe einmalige Transaktionen sind und wenn viele der Kunden weit entfernt sind, kann es tatsächlich am besten sein, den Service-Gutschein nach dem Kauf direkt zu liefern. Man kann dies in einer Bestätigungs-E-Mail tun oder ihn physisch mit dem Produkt versenden als kleine Thank-you Card in der Verpackung. Viele Kunden empfinden eine physische Karte als ein gutes Kundenerlebnis. Diese Methode hat auch den Vorteil, dass sie weniger technisch aufwendig oder kostspielig ist und weniger potenzielle Störungen für den Kunden während des Checkout-Prozesses verursacht.
Wenn du dich dennoch entscheidest, den automatischen Rabatt im Warenkorb zu implementieren, könnte die JavaScript-Lösung nützlich sein. Du kannst die Meldung an den Kunden anpassen, um zu erklären, dass er/sie sich für den Service-Gutschein qualifiziert hat und dass dieser zum Warenkorb hinzugefügt wurde. Es wäre auch gut, in der Produktbeschreibung oder an einer anderen prominenten Stelle im Shop, vielleicht zu erklären, wie das Rabattsystem funktioniert, um Verwirrung zu vermeiden.
Wenn du Kinder hast, können die ein paar tolle Grafiken oder Mockups mit Malstifte und Papier für den Shop malen, die du dann mit einem Tool wie canva.com oder ein ähnliches Tool in eine Infografik umwandelst und auf der Homepage anzeigst.
Aber lass uns weitere Ideen ausreizen!
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
Hallo @Gabe
Danke für deine Antwort. Momentan habe ich im Fahrradbereich wirklich nur die Fahrräder selbst im Shop. Da ich meine Artikel via CSV Import in Shopify integriere, wollte ich für den Anfang nicht zu viele verschiedene Segmente im Shop aufführen, auch wenn dies sicher förderlich wäre und die Idee allgemein gut ist. Da ich ein Ladengeschäft habe und der Abgleich vom Lagerbestand und Shopbestand jeweils manuell gemacht werden muss, verliert man sonst schnell die Übersicht und vergisst allenfalls im Laden verkaufte Artikel auch aus dem Shopbestand zu löschen. Hier mussten wir unsere Abläufe beim Fahrzeugverkauf dementsprechend anpassen, damit nicht online etwas verkauft wird, was wir im Geschäft schon verkauft haben und gar nicht mehr lieferbar ist. Das würde sich beim Zubehör dann nochmal verschlimmern. Leider wüsste ich aber ohne automatischen Abgleich von unserer Betriebssoftware zu Shopify nicht, wie ich diese Problematik umgehen könnte.
Bezüglich der Gutscheine geben wir unseren Kunden einen Gutschein im Kartenformat ab, dieser ist allerdings eher sachlich gehalten und die Idee mit der Gestaltung ist interessant. Ich werde mir hier mal überlegen, wie man diese etwas Interessanter gestalten könnte. Danke schon mal für die Inputs.
Da hast du recht und schauen wir wie du dein Shop langsam mit der Zeit skalieren kannst mit wenigen Kosten, da du ziemlich komplexe Herausforderungen zu bewältigen hast.
Um das Inventarmanagement durch den Einsatz von Software zu automatisieren, und sowohl den Bike Shop mit dem Online-Shop besser zu syncen, gibt es, wie gesagt, verschiedene Möglichkeiten.
Verwendest du ein POS (Point of Sale) System was eine reibungslose Integration zwischen dem physischen Geschäft und dem Online-Shop erlauben kann? Shopify POS Pro ist aber noch nicht ganz erhältlich in der Schweiz leider. Stitch Labs bietet erweiterte Funktionen für die Bestandsverwaltung, einschließlich Multichannel-Verkaufs- und Inventarsynchronisierung.
TradeGecko bietet ein umfassendes Inventarmanagement, das die Synchronisation zwischen verschiedenen Verkaufskanälen ermöglicht.
Bzgl. den Gutscheinen - da könnte man in Betracht ziehen, sie zu personalisieren, indem man zum Beispiel den Namen des Kunden darauf druckt. Man kann auch eine attraktive Verpackung verwenden oder den Gutschein mit einem kleinen Geschenk bündeln. Es gibt auch viele Online-Tools, die dabei helfen können, visuell ansprechende Gutscheine zu designen, wie Canva.com.
Gut gestaltete Gutscheine erhöhen nicht nur die Wahrnehmung des Werts durch den Kunden, sondern auch die Wahrscheinlichkeit, eines Redeems. Man kann Gutscheine auch für spezielle Anlässe erstellen, wie Geburtstage oder Feiertage, um den Kunden einen zusätzlichen Anreiz zum Kauf zu geben.
VG,
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
Hi @Ben310 krass vielen Dank für deine ausführliche Antwort. konnte gerade nur kurz überfliegen und ich schaue mir das im laufe der Woche nochmal an. Ich gebe dir an gewissen Punkt recht, bei manchen Punkten ist unser Prozess leider so wie er ist.
Nochmals Danke 😉
Hi @Ben310, also nochmals vielen Dank für deine ausführliche Erläuterung. Ich bin dir dann aber auch noch eine detailliertere Erklärung schuldig wie das bei uns laufen soll ;-). Witzigerweise sind wir mit unserem Produkt auch in der Fahrradbranche tätig @SwissChris . Wir stellen maßgefertigte individuell angepasste Fahrradsättle mit dem 3D-Druck Verfahren her. Bisher haben wir eine kleine Menge von ca. 60 Unikaten verkauft und bauen langsam das Geschäft weiter auf. Ich bin ein Freund des Gründers und unterstütze aktuell das "Familien - Startup" wo ich kann.
Etwas mehr Hintergrund zu unserem Prozess
Der Kunde kann zum aktuellen Zeitpunkt nur unser 1.Produkt (Fahrradsattel: Id=8357166973270) bestellen. Unser allgemeiner Prozess sieht folgendermaßen aus.
Wie du vielleicht bemerkt hast ist es notwendig, dass der Kunde bei der 1. Bestellung ein Memory Kit (Id: 8428519358806) erhält (kostenlos natürlich).
Warenkorb:
1x Sattel (maßgefertigt) Preis XYZ €
1x Memory Kit Preis 0,00 € <--- kostenlose Produktzugabe wegen Versandsplittung und notwendig um Sitzschaum zu analysieren
Dh. wir müssen sicherstellen das auf jeden Fall das Memory Kit im Warenkorb ist und wir durch das Splitten der Bestellung (1. Versandlabel Memory Kit + Retourenlabel) unterschiedliche Labels erhalten. Der 2. Versand beinhaltet dann nur den fertigen Sattel mit eigenem Versandlabel. Versandlabels wollen wir über easyDHL abdecken.
Das alles soll für die 1. Bestellung eines Kunden funktionieren. (Neukundenprozess)
Sollte sich nun ein Kunde dafür entscheiden, dass er einen weiteren Sattel für ein zweites Fahrrad bestellen möchte besteht natürlich die Möglichkeit wie oben beschrieben. Dennoch würden wir hierdurch aber erneut Versandkosten tragen die nicht notwendig sind, denn wir haben bereits den Sitzabdruck des Kunden ( vielleicht zwei Monate zuvor durch 1. Bestellung ermittelt). D.h. wir benötigen lediglich
(Altkundenprozess)
Könnte auch in einem Textfeld durch den Kunden im Checkout umgesetzt werden! Hierzu habe ich allerdings noch keine Recherche gemacht wie das umzusetzen ist. Popup sollte aber irgendwie funktionieren, oder durch die Bestätiungsmail wäre auch erstmal eine Lösung.
Aktuell habe ich zwei Herausforderungen:
1. Craft- Theme: Version 10.0.0
Der Shop wurde auf Basis des Craft - Themes erstellt. Mir ist bewusst das gewisse Anpassungen des Liquid-Codes bei gewissen Themes nur bedingt möglich sind. Gibt es hier Erfahrungswerte von eurer Seite @Gabe @Ben310 ?
Ich befürchte nämlich das hier eine Anpassung nicht möglich ist denn, ich finde die cart.liquid Datei nicht :-/, oder ich bin zu doof dafür.
2. Angepasster Code:
Ich habe bereits mehrere Stunden damit verbracht, eine passende Lösung zu finden. Auf einer etwas älteren Website wurde ich dann fündig und habe den Code dann für uns abgeändert. Falls ein geschultes Auge einen Fehler findet gerne Meldung machen. Danke im Voraus!
Mein Gedanke dazu ist folgender: Sobald ein Kunde einen Sattel in den Warenkorb legt (mit Produkttag = 'fahrradsattel'), soll automatisch der Warenkorb geprüft werden ob ein Memorykit vorhanden ist. Falls nicht wird es hinzugefügt.
Falls der Code soweit in Ordnung ist, wäre noch die Frage an welcher Stelle ich den Code einfügen müsste. Hat damit jmd. Erfahrung, dass würde mir erheblich Zeit sparen!?
Nachfolgende Codes ohne Gewähr! Nutzung auf eigene Gefahr
Datei: cart_angepasstFP.liquid
{% comment %}
The contents of the cart.liquid template can be found in /sections/cart-template_angepasstFP.liquid
{% endcomment %}
{% section 'cart-template_angepasstFP' %}
{% include 'cart-fahrradsattel_angepasstFP' %}
Datei:cart-fahrradsattel_angepasstFP.liquid
{{ '//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js' | script_tag }}
{% assign benoetigt_memorykit = false %}
{% assign hat_memorykit = 0 %}
{% assign product = all_products['fahrradsattel'] %}
{% assign memorykit_id = product.variants.first.id %}
{% for item in cart.items %}
{% if item.product.tags contains "fahrradsattel" %}
{% assign benoetigt_memorykit = true %}
{% endif %}
{% if item.id == memorykit_id %}
{% assign hat_memorykit = item.variant_id %}
{% endif %}
{% endfor %}
{% if benoetigt_memorykit == true and hat_memorykit == 0 %}
<script>
// Erst prüfen, ob das MermoryKit bereits vorhanden ist, sonst haben wir 2
jQuery.getJSON('/cart.js', function(cart) {
var bereits_vorhanden = false;
for (var x=0; x<cart.items.length; x++) {
if (cart.items[x].id == {{ memorykit_id }}) bereits_vorhanden = true;
}
// Hinzufügen, falls nicht vorhanden
if (!bereits_vorhanden)
jQuery.post('/cart/add.js', {
items: [{ quantity: 1, id: {{ memorykit_id }} }],
success: function() { window.setTimeout(function(){document.location.href = '/cart';},1000); }
});
} );
</script>
{% endif %}
{% if benoetigt_memorykit == memorykit != 0 %}
<script>
jQuery.post('/cart/update.js', {
updates: { {{hat_memorykit }} : 0},
success: function() { document.location.href = '/cart'; }
});
</script>
{% endif %}
Datei: cart-template_angepasstFP.liquid
Folgender Code zu Beginn:
=========================
{% assign product = all_products['fahrradsattel'] %}
{% assign memorykit_id = product.variants.first.id %}
Folgender Code anstatt
<p class="cart__remove">
<a href="/cart/change?line={{ forloop.index }}&quantity=0" class="text-link text-link--accent" aria-label="{{ 'cart.label.remove' | t: product: item.title }}" data-cart-remove>{{ 'cart.general.remove' | t }}</a>
</p>
=========================
<p class="cart__remove">
{% if item.id != memorykit_id %}
<a href="/cart/change?line={{ forloop.index }}&quantity=0" class="text-link text-link--accent" aria-label="{{ 'cart.label.remove' | t: product: item.title }}" data-cart-remove>{{ 'cart.general.remove' | t }}</a>
{% endif %}
</p>
Ich wäre euch allen sehr Dankbar wenn ihr euch das mal anschauen könntet und mir Rückmeldung gebt. Falls ihr Verbesserungen, Fehler, Hürden o. sonstiges seht schreibt gerne.
Beste Grüße
Manu
Hallo @ManuelM88
Hört sich interessant an euer Produkt, du kannst mir gerne deinen Shop verlinken, wenn du soweit bist. Falls Ihr vorhabt, mit dem Fachhandel zu kooperieren, wäre natürlich ein Login für Händler mit etwas Marge auf euer Produkt wünschenswert.
Bezüglich der Codierung lasse ich lieber die Erfahrenen antworten. Beim durchlesen deiner Antwort ist mir jedoch folgendes eingefallen:
Du schreibst "der Kunde kann bei uns momentan nur den einen Artikel bestellen (Sattel + Memoryfoam)". Wäre es für wiederkehrende Kunden nicht ein Ansatz, du würdest einen zweiten Artikel mit nur dem Sattel für schon bestehende Kunden anbieten? Du könntest dann beim Bestellprozess die alte Auftragsnummer (z.B #9005/20231506) als Pflichtfeld abfragen, am besten mit einem Hinweis, dass dieser Artikel nur für wiederkehrende Kunden geeignet ist und dem Link zum ersten Artikel, damit Kunden, auf welche dies nicht zutrifft, zum Sattel inkl. Memoryfoam weitergeleitet werden ("Du hast noch keinen unserer Sättel, dann bestelle hier das Kit zur Vermessung"). In umgekehrter Logik könntest du im ersten Artikel den zweiten Artikel verlinken, zum Beispiel mittels der Frage "Du hast bereits einen unseren Sättel und möchtest einen weiteren bestellen?"
Damit würdest du dir dann die ganze Programmierung sparen, da Artikel eins Sattel und Memoryfoam beinhaltet (als Kit), Artikel zwei nur den Sattel.
Das wäre zumindest mein Ansatz... weiss nicht ob dir das hilft aber schaden kann es sicher nicht.
Ich verstehe natürlich, dass du das alles am liebsten unter einen Hut kriegen möchtest, es wäre aber eine Möglichkeit, gewisse Problematiken zu umgehen.
Ich wünsche dir viel Erfolg mit eurem Shop/Produkt.
Hey @ManuelM88
Wow das hört sich super an und dazu werde ich meine 2-Cents auch geben!
Zum Altkundenprozess, du könntest ein benutzerdefiniertes Textfeld in den Checkout einbauen und so kennzeichnen, dass die Kunden es wissen ihre alte Bestellnummer anzugeben. Beispiel das Kästchen "Adresszeile 2" das etwas redundant ist, oder ähnlich:
Bei der Automatisierung der Versandlabels könntest du Apps wie "Shipbob", "ShipStation" oder "ShippingEasy" in Betracht ziehen, die sich gut in Shopify einbinden lassen und die Automatisierung von Versandprozessen unterstützen.
Der Popup
Schließlich könntest du auch überlegen, ob Shopify Apps wie "Automatic Related Products" oder "Frequently Bought Together" für deine Bedürfnisse angepasst werden können, um das Memory Kit automatisch dem Warenkorb hinzuzufügen, wenn ein Sattel ausgewählt wird.
Oder eben eine App wie Cart Convert die ein extra Produkt (in diesem Fall das Memory Kit) im Cart anzeigt per Popup je nach bestimmten Bedingungen die du setzen kannst. Siehe deren Demo unten - klicke in der Demo auf den ATC Button um den Popup in Action zu sehen, den du umgestalten kannst.
Dein Code (das folgende ist ohne gewähr und sollte zusammen mit einem Experten angeschaut werden):
Auf den ersten Blick sieht der Code gut aus und sollte funktionieren, vorausgesetzt, dass die Produkt-IDs und Tags korrekt sind.
Das Laden der jQuery-Bibliothek mit dem script_tag
-Filter könnte ggf. zu Problemen führen (kann ich aber nicht ohne Testing selber bestätigen), wenn dein Theme bereits jQuery
eingebunden hat. Dies könnte zu Konflikten führen. Überprüfe daher, ob dein Theme bereits jQuery
nutzt. Wenn das der Fall ist, entferne die Zeile mit dem script_tag
und teste das.
Stelle auch sicher, dass das Produkt mit dem Tag "fahrradsattel
" existiert und die Variante des Produkts, die du auswählst, tatsächlich die richtige ist.
AJAX-Anfragen sind asynchron. Daher besteht die Möglichkeit, dass die Seite neu geladen wird, bevor der AJAX-Aufruf abgeschlossen ist. Verwende Callback-Funktionen, um sicherzustellen, dass der Code in der richtigen Reihenfolge ausgeführt wird.
Der Code auch am besten in einer Datei platzieren, die immer geladen wird, wenn der Warenkorb angezeigt wird. Das könnte die cart.liquid
-Datei oder eine relevante JavaScript
-Datei sein. Der genaue Ort hängt von der Struktur des Themes ab.
Das Testen: Verwende die Chrome Developer Console, um sicherzustellen, dass keine Fehler auftreten und der Code wie erwartet funktioniert.
@SwissChris
Dein Ansatz klingt sinnvoll und könnte den Prozess vereinfachen. Und tatsächlich ist das eine gängige Praxis in vielen Shops, bei denen wiederkehrende Kunden unterschiedliche Anforderungen haben.
Die Erstellung eines separaten Produkts nur für den Sattel (ohne Memory Foam) würde die Notwendigkeit der komplexen Programmierung eliminieren, die sonst erforderlich wäre, um das Memory Foam Kit automatisch hinzuzufügen oder zu entfernen. Vielleicht als Bündel erwägen?
Vielleicht auch eine Überprüfung im Backend einbauen, die sicherstellt, dass der Kunde tatsächlich bereits eine Bestellung aufgegeben hat, bevor er den "Sattel ohne Memory Foam" kaufen kann. Du könntest dies tun, indem du das Eingabefeld für die vorherige Bestellnummer validierst über zusätzliche Programmierung.
Die Kunden müssen aber eine klare Unterscheidung zwischen den beiden Produkten machen können wenn diese zwei ähnliche Produkte zur Auswahl stehen ansonsten könnte es zu Verwirrungen kommen die große Conversion Killer sein können.
Auch bedenken, dass man jetzt zwei separate Produkte hat, die beide SEO-optimiert und beworben werden müssen.
FAZIT: Tolle Ideen hier und es ist immer wichtig, den Prozess so einfach wie möglich zu gestalten, sowohl für dich als Shopinhaber als auch für die Kunden.
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
Teil 2 - Wie die Prinzipien des UX-Designs dir dabei helfen können einen großartigen Shop ...
By Kai Sep 16, 2024Teil 1 - Wie die Prinzipien des UX-Designs dir dabei helfen können einen großartigen Shop ...
By Kai Sep 9, 2024Anpassungen des benutzerdefinierten Codes an Shopify-Themes (CSS) leicht gemachtIn diesem...
By Gabe Aug 28, 2024