Partner-ID im Affiliate-Modul für Gambio nachträglich ändern

Eine nachträgliche Änderung der Partner-ID im Affiliate-Modul für Gambio ist eigentlich nicht vorgesehen. Der Partner erhält seine ID zusammen mit der Registrierungsbestätigung und hat sie ggf. schon verwendet, um neue Kunden oder Partner zu werden. Lesen Sie in diesem Tutorial, wie Sie einem Partner bei Bedarf dennoch eine neue ID zuweisen können.

Zu beachten bei Änderung der Partner-ID

Sofern Sie den Platzhalter nicht aus der Vorlage entfernt haben, erhalten neue Affiliates ihre Partner-ID direkt in der E-Mail zur Registrierungsbestätigung. Einstellungen zur Generierung der ID treffen Sie im Admin-Menüpunkt Optionen des Gambio-Affiliate-Moduls.

Die Änderung der Partner-ID über die Admin-Oberfläche ist deshalb nicht möglich, weil es die absolute Ausnahme sein sollte. Sobald der Partner Kenntnis seiner ID hat, kann er sie für das Werben neuer Kunden oder Partner (falls MLM im Gambio-Affiliate-Modul konfiguriert) nutzen. Ändern Sie die Partner-ID, ist die bisherige nicht mehr gültig. Das heißt, dem Partner entgehen direkte Provisionen oder Mitglieder in seiner Downline, wenn jemand den alten Empfehlungslink verwendet.

SQL-Statements zur Änderung

Zwar sind nicht unbedingt alle der nachfolgenden Datenbankbefehle zwingend notwendig. Ihre Ausführung richtet aber auch keinen Schaden an, wenn der betreffende Partner beispielsweise noch keine Bestellungen vermittelt hat.

Die einfachste Möglichkeit zur Änderung der Partner-ID ist, die SQL-Statements über ein Tool wie z.B. phpMyAdmin ausführen zu lassen. Aber auch im Gambio-Backend finden Sie mit phpMiniAdmin (erreichbar über Toolbox > SQL) ein Eingabefeld zur Ausführung von SQL-Befehlen.

Ersetzen Sie in den exemplarischen Befehlen bitte den Text alteID durch die bisherige ID des Partners und neueID durch die gewünschte neue ID.

Die Syntax ist absichtlich so, dass Ihr Datenbank-Administrationstool eine Fehlermeldung ausgibt, wenn Sie eine Ersetzung übersehen haben sollten. In diesem Fall können Sie die fehlende ID-Angabe ganz einfach nachtragen und die Befehle erneut ausführen, ohne, dass dabei Schaden entstehen würde.

Natürlich muss eine Partner-ID unikär sein, also dürfen sich nicht zwei Partner dieselbe ID teilen. Zwar liegt es an Ihnen, zu prüfen, dass die neue ID noch nicht anderweitig vergeben ist. Die Ausführung bricht aber (zumindest in phpMyAdmin & phpMiniAdmin) auch dann ab, wenn Sie versehentlich versuchen, eine ID doppelt zu vergeben. Auch in diesem Fall kann nichts passieren, denn schon die Ausführung des ersten Befehls scheitert. Führen Sie die Befehle also nach vorgenommener Korrektur einfach erneut aus.

Wie Sie der Schilderung bereits entnehmen, müssen Sie die Befehle nicht einzeln ausführen. Kopieren Sie stattdessen nach Einsetzen der Partner-IDs den gesamten Block und senden somit alle Befehle auf einmal ab.

UPDATE `pay_affiliates` SET `id`=neueId WHERE `id`=alteId;
UPDATE `pay_affiliate_coupons` SET `affiliate`=neueId WHERE `affiliate`=alteId;
UPDATE `pay_affiliate_customers` SET `affiliate`=neueId WHERE `affiliate`=alteId;
UPDATE `pay_affiliate_notes` SET `affiliate`=neueId WHERE `affiliate`=alteId;
UPDATE `pay_affiliate_ref` SET `id`=neueId WHERE `id`=alteId;
UPDATE `pay_affiliate_ref` SET `newid`=neueId WHERE `newid`=alteId;
UPDATE `pay_affiliate_verguetung` SET `id`=neueId WHERE `id`=alteId;
UPDATE `pay_ipsperre` SET `mitglied_id`=neueId WHERE `mitglied_id`=alteId;
UPDATE `pay_klicks` SET `mitglied_id`=neueId WHERE `mitglied_id`=alteId;
UPDATE `pay_rechnung` SET `mitglied_id`=neueId WHERE `mitglied_id`=alteId;
UPDATE `pay_ref` SET `mitglied_id`=neueId WHERE `mitglied_id`=alteId;

Nach erfolgreichem Update der Partner-ID in der Datenbank sind alle mit dem Affiliate verknüpften Daten auf die neue ID übertragen. Das Ergebnis können und sollten Sie zu Kontrollzwecken in der Affiliate-Verwaltung im Gambio-Adminbereich nachvollziehen.

Wenn schon Empfehlungslinks des Affiliates im Umlauf sind, die die soeben geänderte ID enthalten, sollten Sie für diese eine Weiterleitung einrichten. Dies kann beispielsweise. mit Hilfe einer RewriteRule geschehen.