Von HubSpot zu Zoho CRM: Wie du Leads und Kontakte nach der Migration sauber trennst
Ein Wechsel des CRM-Systems ist mehr als nur ein technisches Projekt – es ist eine strategische Entscheidung. Wenn du von einer Plattform wie HubSpot zu einem integrierten Ökosystem wie Zoho One wechselst, erwartest du zu Recht mehr Effizienz und eine 360-Grad-Sicht auf deine Kunden. Doch oft liegt der Teufel im Detail, genauer gesagt: in den Daten. Eine der größten Herausforderungen ist die korrekte Trennung von Leads und Bestandskontakten nach dem Import. Viele Systeme unterscheiden hier nicht sauber, was nach der Migration zu ineffizienten Prozessen und Verwirrung im Vertriebsteam führen kann. Dieser Artikel zeigt dir einen praxiserprobten, technischen Lösungsansatz, wie du diese Hürde meisterst und eine saubere Datenbasis in deinem neuen Zoho CRM schaffst.
Praxisbeispiel: Die verlorene Logik bei der Datenmigration
Stell dir folgendes Szenario vor: Dein Unternehmen hat über Jahre hinweg eine umfangreiche Kontaktdatenbank in einem System wie HubSpot aufgebaut. Nun erfolgt der Umzug zu Zoho CRM. Du exportierst alle Kontakte, Unternehmen und Deals und importierst sie in die entsprechenden Zoho-Module. Doch nach dem Import stehst du vor einem Problem: Wer ist ein potenzieller Neukunde (Lead) und wer ist ein bestehender Kontakt, der bereits zu einem zahlenden Kunden gehört? In deinem Altsystem waren vielleicht alle einfach nur „Kontakte“. Zoho CRM hingegen trennt logisch zwischen dem Leads-Modul für die Anbahnung und dem Kontakte-Modul für qualifizierte Ansprechpartner bei bestehenden Kunden (Accounts).
Die technische Kernherausforderung liegt oft in der Art, wie die API des Quellsystems die Daten bereitstellt. Häufig liefert die API bei einem Export der Deals keine direkte Verknüpfung zu den zugehörigen Kontakten, sondern nur zum übergeordneten Unternehmen (Account). Du weißt also, welches Unternehmen gekauft hat, aber nicht direkt, welcher Kontakt in diesem Unternehmen der Ansprechpartner für den Deal war. Ein naiver Ansatz, wie „alle Kontakte ohne Deal sind Leads“, greift zu kurz und führt zu einer unsauberen Datenbank. Die Folge: Dein Vertriebsteam spricht möglicherweise aktive Kunden als neue Leads an oder übersieht vielversprechende Interessenten, weil sie fälschlicherweise als Bestandskontakte klassifiziert wurden.
Schritt-für-Schritt: Leads und Kontakte nachträglich identifizieren
Um diese Herausforderung zu lösen, benötigen wir eine Logik, die „um die Ecke denkt“. Wir leiten die Zugehörigkeit eines Kontakts zu einem Kundenstatus indirekt über die Verknüpfung mit Unternehmen und deren Deals ab. Hier ist die detaillierte Anleitung.
Schritt 1: Datenimport in der richtigen Reihenfolge
Die Grundlage für den Erfolg ist ein strukturierter Import. Halte dich unbedingt an diese Reihenfolge, damit die Verknüpfungen (Lookups) in Zoho CRM korrekt erstellt werden:
- Unternehmen (Accounts): Importiere zuerst alle Unternehmensdaten.
- Deals (Potentials): Importiere danach die Deals und verknüpfe sie mit den bereits importierten Unternehmen.
- Kontakte: Importiere abschließend alle Kontakte und verknüpfe sie mit den entsprechenden Unternehmen.
Für komplexe Migrationen kann der Einsatz von Zoho DataPrep sinnvoll sein, um die Daten vor dem Import zu bereinigen und zu transformieren.
Schritt 2: Die Logik definieren – Wer ist ein „echter“ Kontakt?
Unsere Arbeitsdefinition lautet: Ein echter Kontakt ist eine Person, die einem Unternehmen zugeordnet ist, welches mindestens einen Deal in der Vergangenheit hatte. Alle anderen Personen in deiner Datenbank, die dieser Logik nicht entsprechen, sind potenzielle Leads.
Schritt 3: Ein Helfer-Feld im Kontakte-Modul anlegen
Damit wir die Kontakte klassifizieren können, benötigen wir ein temporäres Feld. Gehe zu Einstellungen > Anpassung > Module und Felder, wähle das Modul „Kontakte“ und füge ein neues Feld hinzu:
- Feldtyp: Kontrollkästchen (Checkbox)
- Feldbezeichnung:
Ist Bestandskontakt
- Standardwert: Nicht angehakt
Dieses Feld dient uns als Marker, den wir per Skript automatisch setzen werden.
Schritt 4: Identifizierung per Deluge Custom Function
Jetzt kommt der Kern der Lösung: eine benutzerdefinierte Funktion in Deluge, der Skriptsprache von Zoho. Diese Funktion durchläuft alle Unternehmen mit Deals und markiert die zugehörigen Kontakte.
Gehe zu Einstellungen > Entwickler-Bereich > Funktionen > Neue Funktion. Gib ihr einen Namen (z.B. markiereBestandskontakte
) und füge folgenden Code ein:
// Funktion, um alle Kontakte zu markieren, die zu Unternehmen mit Deals gehören
// 1. Hole alle eindeutigen Account-IDs aus dem Deals-Modul
// Wir erstellen eine leere Liste, um die IDs zu speichern
accountIds = List();
// Wir durchlaufen die Deals in 200er-Blöcken (API-Limit)
for each page in {1,2,3,4,5,6,7,8,9,10} // Passe die Anzahl der Seiten an deine Deal-Menge an
{
dealList = zoho.crm.getRecords("Deals", page, 200);
if(dealList.size() > 0)
{
for each deal in dealList
{
// Prüfe, ob eine Account-ID im Deal vorhanden ist
if(deal.get("Account_Name") != null && deal.get("Account_Name").get("id") != null)
{
accountId = deal.get("Account_Name").get("id");
// Füge die ID nur hinzu, wenn sie noch nicht in der Liste ist
if(!accountIds.contains(accountId))
{
accountIds.add(accountId);
}
}
}
}
else
{
// Wenn keine Deals mehr gefunden werden, die Schleife verlassen
break;
}
}
info "Unternehmen mit Deals gefunden: " + accountIds.size();
// 2. Iteriere durch die gefundenen Account-IDs und aktualisiere die zugehörigen Kontakte
updatedContactsCount = 0;
for each accId in accountIds
{
// Hole alle Kontakte, die zu diesem Account gehören
relatedContacts = zoho.crm.getRelatedRecords("Contacts", "Accounts", accId);
if(relatedContacts.size() > 0)
{
for each contact in relatedContacts
{
contactId = contact.get("id");
// Erstelle eine Map, um den Kontakt zu aktualisieren
updateMap = Map();
updateMap.put("Ist_Bestandskontakt", true); // API-Name des Checkbox-Feldes
// Führe das Update durch
updateResponse = zoho.crm.updateRecord("Contacts", contactId, updateMap);
info updateResponse;
updatedContactsCount = updatedContactsCount + 1;
}
}
}
info "Anzahl der als Bestandskontakte markierten Datensätze: " + updatedContactsCount;
return "Prozess abgeschlossen.";
Führe diese Funktion einmalig aus. Je nach Datenmenge kann dies einige Minuten dauern. Die info
-Befehle geben dir im Ausführungsprotokoll Aufschluss über den Fortschritt.
Schritt 5: Leads erstellen und Kontakte bereinigen
Nachdem das Skript durchgelaufen ist, hast du eine klare Trennung:
- Alle Kontakte mit dem Haken bei
Ist Bestandskontakt
sind deine validen Kundenkontakte. - Alle Kontakte ohne diesen Haken sind deine potenziellen Leads.
Erstelle nun eine benutzerdefinierte Ansicht im Kontakte-Modul mit dem Filter: Ist Bestandskontakt ist falsch
. Diese Ansicht enthält alle Datensätze, die ins Leads-Modul verschoben werden sollen.
Du hast jetzt zwei Möglichkeiten:
- Manuelle Methode: Exportiere die gefilterte Ansicht als CSV-Datei. Importiere diese Datei anschließend in das Leads-Modul. Danach kannst du die exportierten Datensätze aus dem Kontakte-Modul löschen.
- Automatisierte Methode (für Fortgeschrittene): Schreibe eine zweite Deluge-Funktion, die alle Kontakte ohne Haken durchläuft, für jeden einen neuen Lead-Datensatz erstellt (
zoho.crm.createRecord("Leads", ...)
) und anschließend den ursprünglichen Kontakt-Datensatz löscht (zoho.crm.deleteRecord("Contacts", ...)
). Achtung: Diese Methode ist sehr mächtig und sollte nur nach sorgfältigen Tests mit wenigen Datensätzen angewendet werden.
Bonus-Tipp: Anruf-Tracking mit Rollup-Zusammenfassungsfeldern
Nachdem du deine Daten sauber getrennt hast, möchtest du Interaktionen effizient verfolgen. Eine oft übersehene Funktion in Zoho CRM sind Rollup-Zusammenfassungsfelder. Damit kannst du Daten aus verknüpften Modulen aggregieren.
Anwendungsfall: Zähle automatisch die Anzahl qualifizierter Anrufe (z.B. länger als 10 Sekunden) pro Kontakt.
- Gehe zu Einstellungen > Anpassung > Module und Felder und wähle das Modul „Kontakte“.
- Erstelle ein neues Feld vom Typ Rollup-Zusammenfassung.
- Konfiguriere es wie folgt:
- Verknüpftes Modul: Anrufe
- Aggregatfunktion: Anzahl
- Zu aggregierendes Feld: Anruf-ID
- Kriterien festlegen:
Anrufdauer (in Sekunden) > 10
Dieses Feld aktualisiert sich nun automatisch und gibt dir auf einen Blick eine wichtige Kennzahl zur Kontaktfrequenz, ohne dass du manuelle Berichte erstellen musst.
Tipps und Best Practices
- Teste den Gesamtprozess: Bevor du den finalen Systemwechsel vollziehst, spiele den gesamten Vertriebsprozess einmal durch. Erstelle manuell einen neuen Lead, konvertiere ihn in einen Kontakt, ein Unternehmen und einen Deal. Stelle sicher, dass alle Felder und Automatisierungen wie erwartet funktionieren.
- Daten-Backup erstellen: Bevor du Massenoperationen wie das Ausführen von Deluge-Skripten durchführst, erstelle immer ein Daten-Backup unter Einstellungen > Datenschutz und Datensicherheit > Daten-Backup.
- API-Limits im Auge behalten: Deluge-Skripte haben tägliche API-Call-Limits. Bei sehr großen Datenbanken (mehrere zehntausend Datensätze) musst du deine Skripte eventuell so anpassen, dass sie in kleineren Batches laufen oder über mehrere Tage verteilt werden.
- Zoho Flow als Alternative: Wenn du nicht programmieren möchtest, lassen sich ähnliche Logiken auch mit Zoho Flow umsetzen. Der visuelle Workflow-Builder kann Datensätze abrufen, Bedingungen prüfen und Aktionen ausführen. Für einmalige Massenoperationen ist Deluge jedoch oft performanter.
Zusätzliche Hinweise: Das Ökosystem intelligent nutzen
Eine saubere Datenbasis ist nur der Anfang. Die wahre Stärke von Zoho liegt in der Kombination der Apps:
- Lead-Generierung: Erfasse neue Leads direkt über Zoho Forms auf deiner Website und leite sie automatisch ins CRM.
- Nurturing: Bespiele deine neuen Leads mit gezielten E-Mail-Sequenzen über Zoho Marketing Automation oder Zoho Campaigns.
- Analyse: Verbinde dein CRM mit Zoho Analytics, um detaillierte Dashboards zu erstellen. Visualisiere deine Konversionsraten und identifiziere die profitabelsten Lead-Quellen.
- Kommunikation: Integriere Zoho Cliq, um dein Team sofort über neue, wichtige Leads zu benachrichtigen.
Fazit
Eine CRM-Migration ist eine ausgezeichnete Gelegenheit, um alte Datenstrukturen aufzubrechen und Prozesse neu zu denken. Die anfängliche Herausforderung, Leads und Kontakte sauber zu trennen, ist mit der Flexibilität von Zoho CRM und seiner Skriptsprache Deluge lösbar. Der hier gezeigte Ansatz stellt sicher, dass dein Vertriebsteam vom ersten Tag an mit einer klaren, logischen und wertvollen Datenbasis arbeiten kann. Du investierst damit nicht nur in saubere Daten, sondern in die Effizienz und Skalierbarkeit deiner gesamten Vertriebsorganisation.
Verwendete Zoho Apps in diesem Lösungsansatz:
- Zoho CRM
- Deluge (als Teil der Zoho-Plattform)
- Optional: Zoho DataPrep, Zoho Flow