Jump to content

Kunden E-Mail doppelt in der Kundenverwaltung


Recommended Posts

Hallo,

für eure Hilfe bin ich sehr dankbar. Freue mich über jede Idee woran es liegen könnte.

 

Version

Prestashop 1.7.1

 

Backend

Sell > Customer > Customers = Kundenverwaltung

 

Problem

E-Mails tauchen mehrfach in der Kundenverwaltung auf.

 

Frage

Sollte die E-Mail nicht eine "eindeutig vergebene Variable" sein?

Es führt doch nur zu Problemen, wenn ein Kunde verschiedene Konten mit der selben E-Mail anlegen kann.

 

Danke für eure Rückmeldung.

 

Cheers

Victoria

Edited by Tschüssy Klamotten (see edit history)
Link to comment
Share on other sites

Die Frage wäre, was da das Problem ist. Nimm einen Haushalt, die alle dieselbe Adresse verwenden und jetzt will mehr als einer aus diresem Haushalt hier einkaufen, soll man das nun an der E-Mail-Adresse scheitern lassen? Oder Jemand nutzt einen privaten und geschäftlichen Account für Einkäufe....

 

Ansonsten hilft eben nur der Einbau einer Funktion, die das verhindern könnte. Andererseits scheint ja, irgendsoeine Funktion zumindest im Ansatz zu existieren, denn beim Lösschen eines Kunden wird gefragt, ob die Adresse gelöscht werden soll, um eine erneute Registirierung mit der Adresse zu ermöglichen. Und beim Versuch, mit der Adresse ein Konto anzulegen, wird zumindest nach dem Passwort gefragt. Also kann zumindest nur dann die E-Mailadresse genutzt werden, wenn man das Passwort kennt.

Link to comment
Share on other sites

Hi Claudiocool,

danke für deine Antwort.

 

Ich lese daraus, dass du nicht nachvollziehen kannst, dass ein Problem besteht. Das Problem ist, dass die E-Mail keine eindeutig vergebene Variable in der Datenbank ist.

 

Gründe warum es nicht gut ist, dass die E-Mail mehrfach auftauchen kann:

  • erhöhte Fehleranfälligkeit & unnötige Redundanz und Inkonsistenz in der Kunden-Datenbank
  • Fallbeispiel 1: Kunde denkt er hat nur 1 Konto bei einem Shop, dabei können es 2, 3, 4 und mehr sein > Verwirrung darüber, warum seine bereits getätigten Einkäufe nicht angezeigt werden
  • Fallbeispiel 2: ein Kunde nimmt an einem Loyalty Programm teil und bekommt 5 Punkte für jeden Einkauf > mit mehreren Accounts lassen sich die Punkte nicht zusammentragen und der Kunde ist verärgert. Das schlimmste: Er weiß gar nicht mehr, dass er bereits mal ein Konto angelegt hat!
  • Fallbeispiel 3: Der Kunde meldet sich beim Newsletter ab. Er wird mit seinem anderen Konto dennoch weiterhin Newsletter erhalten > Ärgernis
  • für mich als Shopbesitzer ist es ebenfalls von großem Nachteil: z.B. kann es passieren, dass ich die selbe Person mit einem Mailing 5x anschreibe = Spam, nur weil der Kunde mehrere Konten besitzt
  • Alternative: Die Angabe zur E-Mail ist eine "eindeutig vergebene Variable" und kann daher nicht doppelt angelegt werden. Der Kunde wird bei einer Neuanmeldung darauf hingewiesen, dass die E-Mail bereits im System ist. Falls er das Login-Passwort vergessen haben sollte, kann er sich dieses zuschicken lassen.

 

Es gibt unzählige mehr Beispiele warum es einfach schlecht ist E-Mails mehrfach in einer Datenbank zu vergeben – sowohl aus Sicht des Kunden als auch für den Shopbesitzer.

 

Common Practice

Es ist allgemein üblich, dass eine E-Mail nur einmalig in einem System vergeben werden kann, egal ob man nun eine Online Jobbörse nimmt, einen E-Commerce Shop oder eine Social Media Plattform.

 

Um auf deine Fragen einzugehen:

 

1. Ein Haushalt mit mehreren Personen und einer E-Mail Adresse

Alles o.k. Jede Person (x, y, z) kann sich mit eben dieser E-Mail Adresse (x) anmelden. Wenn Person y und z nicht mehr mit der E-Mail x einkaufen wollen, legen sie halt ein neues Konto mit einer anderen E-Mail Adresse an (y, z) oder aber sie kaufen als Gast ein.

 

2. Privater und geschäftlicher Account

Mir ist nicht klar, wie das hier logisch reinpasst. Wenn jemand seinen privaten Account mit E-Mail x und seinen geschäftlichen Account mit E-Mail y nutzen will, kann er dies tun.

 

Du schlägst vor eine Funktion einzubauen, die das Problem verhindert.

Kann mir bitte jemand helfen und sagen, wie ich aus der "E-Mail" eine eindeutige und damit einmalig vergebene Variable mache? Ich probiere auch gerne kompliziertere Ansätze aus, obgleich ich kein Coder bin.

 

Cheers

Victoria

Edited by Tschüssy Klamotten (see edit history)
Link to comment
Share on other sites

Letzdendlich wird der Kunde ja mit einer bereits genutzen Adress ja auf deren Vorhandensein hingewiesen. Also setzt er sich ja wissentlich der Spam-Flut aus.

 

Sodele, nun zu den Punkten:

 

Ich kriege es in unserem Shop nicht hin, mit einer bereits vorhandenen E-Mail-Adresse einen Account anzulegen. Oder gibt es da einen Trick? Oder hat mein Shop womöglich per default die von dir gewünschte Funktionalität? Vielleicht hat man das beim 1.6. noch gemacht, beim 1.7 aber nicht mehr. Somit ist das Common Practice ja umgesetzt.

 

Private und geschäftliche Accounts: Nun, es ist manchmal so, dass man gar keine private Adresse nutzt, sondern eben mit seiner Firmenmailadresse irgendwo für die Firma einkauft. So, nun sieht man da was, das man auch privat gerne hätte, dieses soll aber nicht in der Kaufhistorie der Firma erscheinen. Klar, der Kunde könnte jetzt schnell eine E-Mailadresse anlegen, aber dann ist er vielleicht weg und kommt nicht wieder, auch doof, gell....

 

Nachvollziehen an sich kann ich das sicher, wenn die Funktion unerwünscht ist, aber eben auch die Gründe, die dafür sprächen ;)

 

Okay, bevor du nun da rumcodest, würde ich erstmal nachhaken, ob die Funktion im 1.7. nur noch nicht umgesetzt wurde, aber grundsätzlich geplant ist.

 

Zu ddr Umsetzung in deinem System:

Was passiert, wenn du einen Account mit einer schon genutzten Addy erstellen willst? Kommt eine Meldung? Wenn ja, dann kannst du genau dort ansetzen und nach der Meldung auf den normalen Kunden-Login wechseln, da kann der Kunde dann den Login vornehmen oder eben sein Passwort anfordern (so ist das imho üblich). Wenn keine Meldung kommt, wirds komplizierter, aber auch nicht unlösbar. Dann muss man eben dort die Mailadresse mit den bereits vorhandenen abgleichen, und wenn da eine passt, gehts dann den gewünschten Weg. Wenn du nicht weißt, wie du es umsetzen sollst, sieh dir mal die Suchfunktion näher an, da sollte auch zu sehen sein, wie man die Abfragen der Daten macht, diese Funktion musst du dann eben auf die enstprechenden Feldnamen umschreiben und die Bedingungen passend setzen. Allerdings darf der dir natürlich dann auch keine Vorschläge (wie bei der Suchfunktion) liefern, denn dann würde man sehen, wer da alles einen Account hat, da würden die Datenschützer kotzen :)

 

Eventuell würde ja die Funktion des 1.6.er auch bei dir im 1.7 funktionieren,

 

Im 1.6. dürfte das hier die Funktion sein:

        // Check if the alias exists
        if (!$this->context->customer->is_guest && !empty($_POST['alias']) && (int)$this->context->customer->id > 0) {
            $id_address = Tools::getValue('id_address');
            if (Configuration::get('PS_ORDER_PROCESS_TYPE') && (int)Tools::getValue('opc_id_address_'.Tools::getValue('type')) > 0) {
                $id_address = Tools::getValue('opc_id_address_'.Tools::getValue('type'));
            }

            if (Address::aliasExist(Tools::getValue('alias'), (int)$id_address, (int)$this->context->customer->id)) {
                $this->errors[] = sprintf(Tools::displayError('The alias "%s" has already been used. Please select another one.'), Tools::safeOutput(Tools::getValue('alias')));
            }
        }
Link to comment
Share on other sites

Liest denn eigentlich keiner meine Posts? Bei 1.6.1.4 gibt es in der Kundenverwaltung auch doppelte E-Mails (ob das dann bei 1.6.1.7 anders ist, kann ich freilich nicht sagen).

 

Ich war anfangs auch davon ausgegangen, daß die E-Mail das einmalig vergebene Kennzeichen für Kunden ist (und damit leider auch ein Pflichtfeld), das System scheint hier aber nicht richtig durchdacht zu funktionieren. Zumindest wäre ja eine Funktion, Kundenkonten mit identischer E-Mail (und auch sonst identischen Daten) händisch zusammenzuführen nicht verkehrt ...

Link to comment
Share on other sites

@Claudiocool lieben Dank für deine Ausführung und den Code.

Komischerweise, erhalte ich nun doch eine Fehlermeldung beim Anlegen eines Accounts mit derselben E-Mail Adresse. Beim dritten Registrieren mit dem Account! Das ist ja genau das was ich wollte – die Fehlermeldung, sodass ein Mehrfachanlagen einer E-Mail nicht möglich ist.

 

Registrieren_EMail_bereits_vergeben.png

 

1. Muss jetzt nur noch herausfinden wie ich ein "Passwort vergessen"-Link in diesem Fall integriert bekomme an dieser Stelle.

 

2. Fehlersuche geht weiter bevor ich selbst etwas im Code verändere: Mein Gedanke ist nun, dass es an dem MailChimp Modul liegen muss. Die erste E-Mail kam vom Mailchimp Sync mit meinen bisherigen Newsletter Abonnenten. Die zweite E-Mail habe ich selbst auf der Shop-Seite angelegt.

In anderen Worten: Wenn sich ein Nutzer für den Newsletter anmeldet und später unwissentlich ein neues Konto mit der selben E-Mail Adresse anlegt, so kann er dies tun – was nicht erwünscht ist.

 

doppelte_EMail_Kundenverwaltung.png

 

@rictools: Ich stimme zu. Die Funktion Kundenkonten zusammenlegen zu können, ist höchst sinnvoll!

 

Danke erst mal an dieser Stelle. Ich versuche mich erst einmal mit dem Mailchimp Modul-Entwickler abzustimmen.

 

Schönen Samstag Abend.

 

Cheers

Victoria

Edited by Tschüssy Klamotten (see edit history)
Link to comment
Share on other sites

Von einem Newsletter-Service wie Mailchimp würde ich unabhängig von der Kundendatenbank in Prestashop erwarten, daß dort die E-Mail-Adressen auf Dubletten abgeglichen werden und z. B. bei einer Abmeldung dann die E-Mail-Adresse auch komplett aus dem Verteiler entfernt wird.

Link to comment
Share on other sites

Das klingt jetzt jedenfalls spannend.... Im 1.6.1.7 ist die Funktion korrekt.... (hab ich auch mal Glück gehabt... ;))

 

Da kommt die Meldung und dann wird man ins rechte Fenster verwiesen, ein vergssenes Passwort kann man an der Stelle auch gleich anfordern.

 

Also in meiner Version alles da,

 

@rictools: Ich kann ja nur von meinem hier ausgehen, und da tut es so, wie eingangs gewollt.

 

@Victoria: Eigentlich würde dann ein reload des Login (da sollte auch das mit dem Passswort vergessen sein) reichen.

 

 

post-1323095-0-75315100-1494106560_thumb.jpg

Link to comment
Share on other sites

  • 5 years later...

Darf ich hier nochmal einhaken:

Was ist denn dabei herausgekommen? Ich habe ebenfalls viele Dubletten, also mehrere Kunden IDs mit derselben E-Mail. Das führt zu diversen Problemen. Wenn z.B. eine Gutschrift als Shopgutschein ausgestellt wird, ist dieser Shopgutschein personalisiert, funktioniert aber nur auf EINEM dieser Kundenkonten. Es ist Zufall, ob dieser Shopgutschein dann auch funktioniert. Ich frage mich, was dann letztlich bestimmt, in WELCHEN Account sich der Kunde einloggt, sofern auch die Passwörter aller Accounts gleich sind, was ich hier nicht sehen kann. Vermutlich sind dann die Daten des aktiven Cookies entscheidend, sofern einer vorhanden ist. 

Das ist in jedem Falle sehr problematisch auf dauer, schon allein, weil diese Kunden in keinem Account eine vollständige Bestellhistorie haben. Gibt es ein befriedigendes Tool zum Zusammenführen dieser Konten? Habt Ihr den Grund für diese Dubletten gefunden? In  meinem Falle ist es 1.7.8.7 und es gibt dieses Problem offensichtlich immer noch. Ich nutze übrigens auch das Mailchimp plugin. Ist das als Ursache verifiziert worden?
  

Edited by Musterheld (see edit history)
Link to comment
Share on other sites

  • 4 months later...

Mich betrifft das PRoblem genauso. Kunden mit mehrere Accounts teilweise 3-4 Accounts.

Versuche ich den Kunden selbst anzulegen mit der gleichen Mail, sagt mir der Shop ein Kundenaccount existiert bereits.

Kann es sein dass Paypal und Co gerne mal Gast Accounts anlegen und bei diesen diesen ganzen Dubletten möglich sind?

Das blöde ist natürlich, dass ein Kunde nun 4x verschiedene Accounts hat mit unterschiedlichen Bestellungen, und im Partnerprogramm damit aus dem Ruder fällt.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...