Wissenswertes
Änderung der Einstellungen: Wenn Sie Änderungen an den Einstellungen einer bestehenden Synchronisierung vornehmen möchten, empfiehlt es sich, dass man die Cronjobs pausiert, die Synchronisation im Tab "Erweitert" zurücksetzt, die Einstellungen anschließend ändert und die Cronjobs erneut aktiviert.
Wenn Sie die Funktion Customer Re-Engagement (Infolink) nutzen möchten, die darauf abzielt Kunden anzuschreiben, die einen bestimmten Zeitraum nicht mehr bestellt haben, anzuschreiben, so ist wichtig zu wissen, dass MailChimp ggf. anders arbeitet als Sie denken. Wenn Sie z.B. alle Kunden in eine Liste synchronisieren und die Automatisierung "Customer Re-Engagement" mit der Einstellung nutzen, dass Sie alle Kunden anschreiben wollen, die 4 Wochen nicht bestellt haben, dann sucht MailChimp in ihrer Liste nach Kunden, bei denen der Zeitraum zwischen zwei Bestellungen 4 Wochen betragen hat. Wenn eine Kunde z.B. folgende Bestellungen aufgeben hat:
01.10.2017 - Bestellung #1
15.11.2017 - Bestellung #2
20.11.2017 - Bestellung #3Wenn Sie innerhalb dieser Automatisierung z.B. am 21.11.2017 filtern, wird dieser Kunde in die Selektion mit einbezogen, weil der Kunde zwischen der Bestellung #1 und Bestellung #2 ein Zeitfenster ohne Bestellung von 4 Wochen gehabt hat. Wenn Sie dies nicht möchten, empfiehlt es sich die Synchronisation mit Hilfe der Plugin-Einstellungen auf ein bestimmtes Datum zu beschränken. Wenn Sie sich nun am 21.11.2017 befinden, das Plugin installieren und z.B. die Synchronisation ab dem 20.11 beginnen, dann werden neue Bestellungen synchronisiert, sobald sie im Shop getätigt worden sind. Nach 4 Wochen (28 Tagen) würde die Automatisierung die Kunden anschreiben, die am 20.11.2017 bestellt haben, danach aber nicht mehr. Nach 29 Tagen würde die Automatisierung dann diejenigen anschreiben, die am 21.11 bestellt haben, danach jedoch nicht mehr.
Subscriber Status: Die e-Commerce Funktionalitäten von MailChimp arbeiten mit einem Store-Objekt, welches mit einer MailChimp Liste verknüpft wird.
Das Store Objekt arbeitet mit Kunden, Bestellungen, Produkten und temporären Warenkörben. Die angeschlossene Liste beinhaltet Abonnenten. Die Logik, die MailChimp einsetzt ist folgende:
Wenn ein Kunde in das Store-Objekt eingefügt wird, es diesen Kunden nicht als Abonnenten in der angeschlossenen Liste gibt, dann wird dieser Kunde als Abonnent in der verknüpften Liste angelegt. Hier spielt der Subscriber Status, der im Plugin angegeben werden kann, eine Rolle. Ist dieser Status aktiviert, wird der neu angelegte Abonnent als "subscribed" angelegt, wodurch dieser mit Marketing-Kampagnen kontaktiert werden kann.
Ist die Option des Subscriber-Status nicht aktiviert, dann wird der Kunde als transaktionaler Abonnent in die Liste eingefügt und kann nicht mit Marketing-Kampagnen kontaktiert werden. Abonnenten mit einem transaktionalen Status können nur durch transaktionale e-Mails, z.B. mit der Funktion Warenkorbabbrecher zurückzugewinnen, kontaktiert werden. Dies ist besonders relevant, wenn eine leere Liste mit Kunden angelegt werden soll.Wird ein Kunde im Store-Objekt hinzugefügt und dieser Kunde existiert bereits als Abonnent in der verknüpften Liste, so wird der Status des Abonnenten nicht verändert, es sei denn der Abonnent ist als transaktionaler Abonnent abgespeichert. Ein Abonnent der den Status "subscribed" hat und dann durch das Plugin erneut als "transaktionaler" Abonnent übertragen wird, erfährt keine Änderung. Möchte man z.B. vorhandene Abonnenten mit ihren e-Commerce Daten anreichern, so würde es sich hier anbieten, den Subscriber Status zu deaktivieren. So erhalten die bereits in der Liste vorhandenen Abonnenten die zusätzlichen e-Commerce Informationen aus Shopware in MailChimp, Kunden die übertragen werden und kein Abonnent sind können nicht mit einer Kampagne kontaktiert werden, da sie als transaktionaler Abonnent übertragen werden.
4. Syncronisiserung bricht ab / Cronjob steht auf "inaktiv" Der initiale Sync nachdem das Plugin erstmalig installiert und konfiguriert worden ist, dauert für gewöhnlich länger. Dies ist abhängig von der Anzahl an Produkten, die synchronisiert werden sollen. Wenn der Cronjob ausgeführt wird, wird dieser von Shopware auf "inaktiv" gesetzt, nach der Ausführung wird der Status automatisch wieder auf "aktiv" gesetzt. Deswegen kann es verwirrend sein, wenn der Cronjob auf inaktiv steht, aber eigentlich ausgeführt werden sollte. Hier ist es hilfreich nachzusehen, wann der Cronjob das letzte Mal ausgeführt worden ist. Wenn dies kürzlich der Fall gewesen ist, sollte gewartet werden, ob sich der Status wieder auf "aktiv" setzt.
Wenn auch nach 30-60 Minuten keine Änderung eingetreten ist und der Cronjob immer noch auf inaktiv gesetzt ist, dann lohnt es sich in die Fehlersuche zu gehen. Folgende Dinge sind hier zu empfehlen:
4a. Am häufigsten passiert es, dass der Cronjob durch die maximale Script-Ausführungszeit vom Server gestoppt wird. In diesem Fall ist zu empfehlen, die Synchronisation auf Shopware Ebene (Tab "Erweitert") und auf Mailchimp Ebene zurückzusetzen und erneut zu starten. Beim erneuten Starten sollte darauf geachtet werden, dass das Sync Limit heruntergsetzt wird, z.B. von 500 auf 100 Datensätze.
4b. Hilft dies ebenfalls nicht, kann die "max execution time" in den PHP Einstellungen des Servers erhöht werden. Die Shopware-Logik arbeitet so, dass alle Cronjobs die zu einer bestimmten Zeit ausgeführt werden sollen, nach einander im selben Aufruf abgearbeitet werden. Dadurch kann es vorkommen, dass die Script-Ausführungszeit schnell überschritten wird und der Server die Skript abbricht.
4c. Alternativ kann das Plugin auch ohne Shopware Cronjobs konfiguriert werden. Dafür lassen Sie die Cronjobs in den Shopware Einstellungen auf inaktv stehen und können direkt, in der Cronjob Konfiguration (auf dem Server im crontab), diese beiden Commands aufrufen, damit die Synchronisation unabhängig von der Shopware Logik ausgeführt wird:
Dieser Command führt den Sync alle 15 Minuten aus:
*/15 * * * * php bin/console jett:mc:sync
Dieser Command führt die Queue alle 5 Minuten aus.
*/5 * * * * php bin/console jett:mc:queue
5. Reihenfolge der Synchronisation Wenn das Plugin mit der Synchronisation begonnen hat, werden die Objekte sequentiell synchronisiert. Zuerst werden die Kunden von Shopware zu MailChimp übertragen, danach folgen die Produkte und letztlich die Bestellungen. Die Synchronisation der Bestellungen erfolgt, wenn die Synchronisation der Kunden und der Produkte abgeschlossen ist.
6. Fehlende Kundennamen Falls Kundennamen in der angeschlossenen Liste fehlen sollten, so liegt dies höchstwahrscheinlich daran, dass die Merge Fields für den Vornamen und Nachnamen umbenannt worden sind. Die Standard-Einstellung bei MailChimp ist "FNAME" für den Vornamen und "LNAME" für den Nachnamen. Falls hier andere Einstellungen benutzt werden müssen, kann der Name mit Hilfe dieses Plugin nachträglich synchronisiert werden: https://store.shopware.com/jett880123383245/mailchimp-merge-field-synchronisation.html
7. Möglichkeit zur Aktivierung der Connected Site Option fehlt Wenn die Möglichkeit zur Aktivierung der Connected Site Option fehlt, so liegt dies daran, dass MailChimp beim Anlegen des Stores keine Connected Site registrieren konnte. Dies kann an diesen beiden Gründen liegen:
- Es gibt bereits eine Connected Site bei MailChimp mit der gleichen Domain, die auch in den Store-Einstellungen angegeben ist.
- Die Connected Site konnte aus anderen Gründen nicht erstellt werden, weil z.B. die Domain nicht erreichbar gewesen ist.
Die einfachste Möglichkeit wäre hier, zu überprüfen ob es bereits eine Connected Site in ihrem MailChimp Account für die Domain gibt. Falls ja, sollte diese entfernt werden. Danach sollte die Synchronisation im Plugin zurückgesetzt und der Store neu über das Plugin erstellt werden. Wenn Sie z.B. als Domain www.domain.de angegeben haben, könnte es ggf mit "domain.de" oder "https://www.domain.de" zum Erfolg führen.
8. Produkte werden nicht vollständig synchronisiert
Um die Produkte an MailChimp zu übertragen, werden Produkte inkl. ihrer Varianten in entsprechende Objekte bei MailChimp konvertiert. Die Shopware Artikeldaten werden in mindestens zwei Tabellen gespeichert: s_articles
und s_articles_details
Es kommt vor, dass die Shopware Datenbank inkonsistente Daten beinhaltet indem z.B. ein Artikel keine Details hat. Dieser Artikel kann nicht bestellt werden und wird auch im Backend nicht angezeigt, weil es ein fehlerhafter Datensatz ist. Diese Datensätze können die Synchronisation der Produkte behindern, weswegen sie aus der Datenbank entfernt werden sollten.