Du betrachtest gerade Zoho CRM und Marketing Automation: Kontakte per Admin-Update ins Segment für Journeys bringen

Zoho CRM und Marketing Automation: Kontakte per Admin-Update ins Segment für Journeys bringen

  • Beitrags-Autor:

Zoho Marketing Automation und CRM: Bestehende Kontakte clever in Journeys überführen

Du nutzt Zoho CRM als Deine zentrale Datenquelle und möchtest die Power von Zoho Marketing Automation (ZMA) voll ausschöpfen, insbesondere für automatisierte Kunden-Journeys? Dann stehst Du vielleicht vor der Herausforderung, Deine bereits im CRM vorhandenen Kontakte und Leads, die bestimmte Kriterien erfüllen, effektiv in Deine ZMA-Segmente und somit in Deine Journeys zu bekommen. Dieser Artikel zeigt Dir, wie Du genau das erreichst, den Unterschied zwischen Listen und Segmenten in ZMA verstehst und warum ein CRM-First-Ansatz meistens der richtige Weg ist.

Warum ist das Thema wichtig für Zoho-Nutzer?

Eine nahtlose Integration zwischen Deinem CRM und Deiner Marketing-Automatisierungs-Software ist Gold wert. Sie verhindert Datensilos, sorgt für konsistente Kundenansprachen und ermöglicht es Dir, hochgradig personalisierte Marketingkampagnen zu fahren. Wenn Du Deine Kundendaten primär im Zoho CRM pflegst – was für die meisten Unternehmen die beste Praxis ist – dann müssen Änderungen und Kriterien aus dem CRM zuverlässig in Zoho Marketing Automation reflektiert werden, um Deine Journeys intelligent zu steuern.

Welche typische Herausforderung wird behandelt?

Viele Anwender sind anfangs unsicher über den Unterschied zwischen Listen und Segmenten in Zoho Marketing Automation. Die Kernfrage lautet oft: Wie bekomme ich meine bestehenden CRM-Kontakte, die spezifische Kriterien erfüllen (z.B. ein bestimmtes Opt-In gegeben haben oder einer bestimmten Branche angehören), in ein Segment in ZMA, damit sie eine darauf basierende Journey durchlaufen? Oftmals wird ein Segment erstellt, aber es füllt sich nicht wie erwartet mit den bereits vorhandenen, passenden Kontakten aus dem CRM.

Praxisbeispiel beschreiben

Stell Dir vor, Du möchtest eine spezielle E-Mail-Sequenz (Journey) an alle Kontakte senden, die im Zoho CRM im Feld „Telefon-Opt-In“ den Wert „Ja“ haben. Du legst also in Zoho Marketing Automation ein Segment an, das genau auf dieses Kriterium filtert. Zu Deiner Überraschung stellst Du fest, dass nur sehr wenige oder gar keine Deiner tausenden CRM-Kontakte, die dieses Kriterium eigentlich erfüllen, im Segment erscheinen. Neue Leads, die nach Erstellung des Segments mit „Telefon-Opt-In = Ja“ ins CRM kommen, werden korrekt hinzugefügt, aber was ist mit dem Altbestand?

Schritt-für-Schritt Anleitung zur Lösung

Die Lösung liegt im Verständnis, wie Zoho Marketing Automation Segmente „befüllt“ und wie Du den notwendigen Anstoß (Trigger) aus dem Zoho CRM geben kannst.

1. Grundlagen: CRM-First und der Unterschied zwischen Listen und Segmenten in ZMA

CRM-First-Ansatz: Deine primäre Datenquelle und der Ort der Datenpflege sollte Dein Zoho CRM sein. Hier werden Leads und Kontakte erfasst, qualifiziert und mit allen relevanten Informationen angereichert. Zoho Marketing Automation dient dann dazu, diese Daten für Marketingzwecke zu nutzen.

Listen in ZMA:

  • Synchronisationslisten: Die wichtigsten Listen sind „Alle Leads“ und „Alle Kontakte“. Diese synchronisieren sich automatisch mit Deinem Zoho CRM. Du konfigurierst im CRM unter „Zoho Marketing Hub“ (der frühere Name für ZMA, oft noch in den CRM-Einstellungen so benannt) welche Module (Leads, Kontakte) und welche Felder synchronisiert werden sollen.
  • Manuelle Listen: Du kannst in ZMA auch eigene Listen erstellen, z.B. für Kontakte, die sich über ein ZMA-eigenes Formular anmelden oder die Du manuell importierst. Für den hier beschriebenen CRM-First-Ansatz spielen diese meist eine untergeordnete Rolle.

Segmente in ZMA:

  • Segmente sind dynamische Gruppierungen von Kontakten, die sich bereits in Deinen ZMA-Listen (typischerweise den synchronisierten CRM-Listen) befinden.
  • Sie basieren auf von Dir definierten Kriterien (z.B. „Land ist Deutschland“ UND „Branche ist IT“).
  • Ein Kontakt wird einem Segment hinzugefügt, wenn er die Kriterien erfüllt UND eine relevante Änderung an seinem Datensatz erkannt wird, die eine Neubewertung auslöst.

Für Deinen CRM-First-Workflow gilt: Pflege die Daten im Zoho CRM. Diese werden in die Hauptlisten „Alle Leads“ / „Alle Kontakte“ in Zoho Marketing Automation synchronisiert. Darauf aufbauend erstellst Du in ZMA Segmente für Deine Journeys.

2. Synchronisation zwischen Zoho CRM und Zoho Marketing Automation prüfen/einrichten

Stelle sicher, dass die Synchronisation zwischen Deinem Zoho CRM und Zoho Marketing Automation korrekt eingerichtet ist.

  1. Gehe in Deinem Zoho CRM zu Einstellungen > Marketplace > Zoho.
  2. Suche nach „Zoho Marketing Hub“ (oder „Marketing Automation“) und klicke auf „Einrichten“.
  3. Wähle die Module (Leads, Kontakte), die Du synchronisieren möchtest, und konfiguriere die Feldzuordnungen. Stelle sicher, dass alle Felder, die Du für die Segmentierung in ZMA benötigst (z.B. „Telefon-Opt-In“), für die Synchronisation ausgewählt sind.

3. Segment in Zoho Marketing Automation erstellen

Erstelle nun Dein gewünschtes Segment in Zoho Marketing Automation:

  1. Gehe in ZMA zu „Kontakte“ > „Segmente“.
  2. Klicke auf „Segment erstellen“.
  3. Wähle als Basis die Liste „Alle Leads“ oder „Alle Kontakte“ (oder beide, je nachdem, wo sich Deine Zielgruppe befindet).
  4. Definiere Deine Kriterien. Für unser Beispiel: Feld „Telefon-Opt-In“ (aus dem CRM synchronisiert) ist gleich „Ja“.
  5. Speichere das Segment.

Du wirst feststellen, dass das Segment zunächst leer ist oder nur sehr wenige Kontakte enthält, selbst wenn tausende Datensätze im CRM die Kriterien erfüllen.

4. Das „Trigger-Problem“ bei bestehenden Daten

Hier liegt der Knackpunkt: Zoho Marketing Automation fügt einen Kontakt einem Segment (meist) erst dann hinzu, wenn eine Änderung am Datensatz des Kontakts stattfindet, die nach Erstellung des Segments erfolgt und für ZMA relevant ist. Das System prüft nicht automatisch rückwirkend alle bestehenden Kontakte auf einmal. Dies ist vergleichbar mit Workflows im Zoho CRM, die auch nur bei bestimmten Auslösern (Erstellung, Feldänderung) aktiv werden.

5. Lösung: Ein „Admin-Update“-Feld im Zoho CRM als Trigger

Um die bestehenden Kontakte ins Segment zu „schubsen“, musst Du eine Aktualisierung an den relevanten Datensätzen im Zoho CRM vornehmen. Die eleganteste Methode hierfür ist ein Hilfsfeld:

  1. Lege im Zoho CRM (im Modul Leads und/oder Kontakte) ein neues benutzerdefiniertes Feld an. Nenne es z.B. „ZMA Sync Trigger“ oder „Admin-Update“. Wähle als Feldtyp „Datum/Uhrzeit“.
  2. Stelle sicher, dass dieses neue Feld auch in der Synchronisation mit Zoho Marketing Automation berücksichtigt wird (siehe Schritt 2).

6. Massen-Update im Zoho CRM durchführen (manuell oder per Skript/API)

Nun aktualisierst Du dieses neue Feld für alle Kontakte, die Du in Dein Segment bekommen möchtest:

  • Manuelles Massen-Update:
    1. Erstelle im Zoho CRM eine Ansicht (Custom View) für Leads/Kontakte, die Deine Kriterien erfüllen (z.B. „Telefon-Opt-In ist Ja“).
    2. Wähle in dieser Ansicht alle Datensätze aus (oder eine Teilmenge, z.B. 100 Stück, wenn Du sie schrittweise einschleusen möchtest).
    3. Klicke auf „Massen-Update“.
    4. Wähle das Feld „ZMA Sync Trigger“ (oder „Admin-Update“) und setze es auf das aktuelle Datum und die aktuelle Uhrzeit.
    5. Speichere die Änderungen.
  • Per Deluge-Skript (z.B. in einer Custom Function oder einem Workflow):
    Du kannst eine benutzerdefinierte Funktion in Zoho CRM erstellen, um das Feld für ausgewählte Datensätze zu aktualisieren. Dies ist nützlich für größere Mengen oder wiederkehrende Aufgaben.

    
    // Deluge Script für Zoho CRM Custom Function
    // Annahme: 'leadIds' ist eine Liste von Lead-IDs, die aktualisiert werden sollen.
    // Diese IDs könntest Du z.B. aus einem Report oder einer anderen Logik beziehen.
    
    // Beispiel: leadIds = {"12345000000123456", "12345000000654321"};
    // In einer echten Funktion würdest Du die IDs als Argument übergeben oder dynamisch ermitteln.
    
    // Für eine Massenaktualisierung basierend auf Kriterien:
    relevantLeads = zoho.crm.searchRecords("Leads", "(Telefon_Opt_In:equals:Ja)"); // Passe das Kriterium an
    updatedCount = 0;
    
    for each lead in relevantLeads
    {
        leadIdStr = lead.get("id").toString();
        updateData = Map();
        updateData.put("ZMA_Sync_Trigger", zoho.currenttime); // Dein Admin-Update-Feld API-Name
        
        // Optional: Layout-ID angeben, falls für das Update benötigt
        // layoutDetails = zoho.crm.getLayoutDetails("Leads");
        // layoutId = "";
        // for each layout in layoutDetails.get("layouts")
        // {
        //   if(layout.get("name") == "Standard") // Dein Layout-Name
        //   {
        //     layoutId = layout.get("id");
        //   }
        // }
        // if (layoutId != "")
        // {
        //   updateData.put("Layout", {"id": layoutId});
        // }
        
        resp = zoho.crm.updateRecord("Leads", leadIdStr, updateData);
        info "Lead " + leadIdStr + " updated: " + resp;
        updatedCount = updatedCount + 1;
    
        // Wichtig: API-Call-Limits beachten! Bei sehr vielen Datensätzen Pausen einbauen oder Batch-Verarbeitung nutzen.
        if (updatedCount % 100 == 0) 
        {
            info "Pausing for 60 seconds to respect API limits...";
            zoho.actions.sleep(60000); // 60 Sekunden Pause
        }
    }
    info updatedCount + " Leads wurden aktualisiert.";
    
  • Per Zoho CRM API:
    Wenn Du externe Skripte oder Tools nutzt, kannst Du die Datensätze auch über die Zoho CRM API aktualisieren. Dies bietet maximale Flexibilität.

    
    # Beispiel Python-Skript für Zoho CRM API v2 (vereinfacht)
    import requests
    import json
    import time
    
    ACCESS_TOKEN = "DEIN_ZOHO_ACCESS_TOKEN"
    API_DOMAIN = "https://www.zohoapis.de" # oder .com, .eu etc.
    
    # IDs der zu aktualisierenden Leads (z.B. aus einer CSV oder Datenbankabfrage)
    lead_ids_to_update = ["12345000000123456", "12345000000654321"]
    
    headers = {
        "Authorization": f"Zoho-oauthtoken {ACCESS_TOKEN}",
        "Content-Type": "application/json"
    }
    
    records_data = []
    for lead_id in lead_ids_to_update:
        records_data.append({
            "id": lead_id,
            "ZMA_Sync_Trigger": time.strftime('%Y-%m-%dT%H:%M:%S') + "+02:00" # Dein Admin-Update-Feld API-Name, ISO 8601 Format mit Zeitzone
            # Ggf. "Layout": {"id": "DEINE_LAYOUT_ID"}
        })
    
    # Die Zoho CRM API v2 erlaubt das Update von bis zu 100 Records pro Call
    # Hier wird der Einfachheit halber jeder Record einzeln aktualisiert. 
    # Für echte Massen-Updates, die Datensätze in Batches von 100 bündeln.
    # PUT /crm/v2/Leads
    # payload = {"data": records_data_batch_of_100} 
    
    for record_data_single in records_data:
        lead_id = record_data_single.pop("id") # ID wird für den URL Path benötigt
        url = f"{API_DOMAIN}/crm/v2/Leads/{lead_id}"
        payload = json.dumps({"data": [record_data_single]}) # API erwartet ein Array von Objekten
    
        try:
            response = requests.put(url, headers=headers, data=payload)
            response.raise_for_status() # Löst HTTPError für 4xx/5xx Statuscodes aus
            print(f"Lead {lead_id} aktualisiert: {response.json()}")
        except requests.exceptions.RequestException as e:
            print(f"Fehler beim Update von Lead {lead_id}: {e}")
            if response is not None:
                print(f"Response Text: {response.text}")
        time.sleep(1.1) # Um API-Limits nicht zu schnell zu erreichen
    
    print(f"{len(records_data)} Leads verarbeitet.")
    

Durch diese Aktualisierung (egal auf welchem Weg) wird der Datensatz im Zoho CRM „berührt“. Die Änderung wird an Zoho Marketing Automation synchronisiert. ZMA wertet den Kontakt neu aus, erkennt, dass er die Kriterien für Dein Segment erfüllt, und fügt ihn hinzu. Innerhalb weniger Minuten (abhängig von der Synchronisationsfrequenz) sollten die aktualisierten Kontakte nun in Deinem ZMA-Segment erscheinen.

7. Journey in Zoho Marketing Automation erstellen und Segment als Eingang nutzen

Sobald Dein Segment korrekt befüllt ist, kannst Du es als Eingangskriterium für Deine Marketing-Journey in ZMA verwenden.

  1. Gehe in ZMA zu „Automation“ > „Journeys“.
  2. Erstelle eine neue Journey oder bearbeite eine bestehende.
  3. Wähle als Trigger-Typ „Wird einem Segment hinzugefügt“ und wähle Dein zuvor erstelltes Segment aus.
  4. Baue Deine Journey mit E-Mails, Verzögerungen, Bedingungen etc. auf.

Tipps und Best Practices

  • Single Source of Truth: Behalte Dein Zoho CRM als die eine Quelle der Wahrheit für Kundendaten bei. Änderungen sollten primär dort erfolgen.
  • Kontrolliertes Einschleusen: Mit der „Admin-Update“-Methode kannst Du Kontakte auch schrittweise in eine Journey einschleusen (z.B. täglich nur 100 aktualisieren), um die Reaktion zu beobachten oder Dein System nicht zu überlasten.
  • DSGVO und Opt-Ins: Achte darauf, dass Du für alle Marketingaktivitäten die notwendigen Einwilligungen (Opt-Ins) hast. Filter in Deinen Segmenten und Journeys können helfen, dies sicherzustellen (z.B. zusätzlich nach „E-Mail-Opt-In ist Ja“ filtern). Für DSGVO-relevante Mails, die nur an neue Kontakte gehen sollen, kannst Du das Erstellungsdatum („Created Time“ aus dem CRM) als Kriterium im Segment verwenden.
  • Testen: Teste Deine Segmente und Journeys gründlich mit einer kleinen Auswahl an Testkontakten, bevor Du sie auf Deinen gesamten Datenbestand anwendest. Du kannst in Journeys auch Filter einbauen (z.B. „E-Mail-Adresse ist [email protected]“), um während der Testphase nur an Dich selbst zu senden.
  • Feld-API-Namen: Wenn Du mit Skripten oder der API arbeitest, stelle sicher, dass Du die korrekten API-Namen Deiner CRM-Felder verwendest (findest Du in den CRM-Einstellungen unter Entwicklerbereich > APIs > Feld-API-Namen).
  • Synchronisationsintervalle: Beachte, dass es eine kleine Verzögerung zwischen der Änderung im CRM und der Aktualisierung in ZMA geben kann, abhängig vom eingestellten Synchronisationsintervall (oft alle 15-30 Minuten).

Zusätzliche Hinweise

  • Zoho Flow für komplexe Logiken: Für noch komplexere Szenarien, bei denen Daten zwischen verschiedenen Apps (auch Drittanbieter-Apps wie Zapier oder Make/Integromat) synchronisiert oder Aktionen ausgelöst werden sollen, kann Zoho Flow ein mächtiges Werkzeug sein. Du könntest z.B. einen Flow erstellen, der auf ein Update in einer externen Datenbank reagiert, dann einen Datensatz im CRM aktualisiert, was wiederum das ZMA-Segment triggert.
  • Zoho Forms für die Datenerfassung: Wenn Du Webformulare zur Lead-Generierung nutzt, integriere Zoho Forms direkt mit Zoho CRM. Neue Einträge landen dann direkt als Lead oder Kontakt im CRM und werden von dort mit ZMA synchronisiert.
  • Zoho Analytics für Auswertungen: Um den Erfolg Deiner Journeys und die Qualität Deiner Segmente zu analysieren, kannst Du Daten aus Zoho CRM und Zoho Marketing Automation in Zoho Analytics zusammenführen und aussagekräftige Dashboards erstellen.
  • Kommunikation im Team: Tools wie Zoho Cliq oder Zoho Connect können helfen, die Abstimmung im Marketing- und Vertriebsteam über laufende Kampagnen und Datenänderungen zu verbessern.

Fazit

Die korrekte Befüllung von Segmenten in Zoho Marketing Automation mit bestehenden Zoho CRM-Kontakten erfordert ein Verständnis der Trigger-Mechanismen. Die Methode mit dem „Admin-Update“-Feld ist eine einfache und effektive Lösung, um Deine CRM-Daten zuverlässig für Deine Marketing-Journeys nutzbar zu machen. Durch die Kombination eines CRM-First-Ansatzes mit der gezielten Aktualisierung von Datensätzen stellst Du sicher, dass Deine Marketing-Automatisierung auf einer soliden und aktuellen Datenbasis aufbaut. So kannst Du das volle Potenzial Deiner Zoho-Suite ausschöpfen und Deine Kunden gezielter und erfolgreicher ansprechen.

Verwendete Zoho Apps in diesem Lösungsansatz:

Potenziell nützliche, ergänzende Zoho Apps: