Google-Anbindung — zwei Dienste, klar abgegrenzt.
Wir binden bewusst nur das ein, was du im CRM-Alltag wirklich brauchst:
Cloud Translation für die Mail-Vorlagen, Places (New) für die KI-Recherche.
Keine Workspace-Synchronisation, keine Calendar-Übernahme — und damit auch
keine Datenwanderung, die du gar nicht wolltest.
Zwei Google-APIs — punktgenau, mit getrennten Keys.
Das CRM unterstützt zwei separate API-Keys (Least-Privilege-
Pattern). Du erzeugst sie in deinem eigenen Google-Cloud-Projekt und trägst
sie im jeweiligen CRM-Backend-Bereich ein:
- Translation-Key — Pfad im Backend:
DigElite CRM → Kategorien & Sprachen → Übersetzung.
Optionnz_crm_google_api_key. - Places-Key — Pfad im Backend:
DigElite CRM → Kontakt-Radar → Places-API-Key.
Optionnz_crm_places_api_key. Fällt automatisch auf den
Translation-Key zurück, wenn er leer bleibt (Convenience für kleine Setups).
Beide laufen über API-Key-Auth (Header
X-Goog-Api-Key bzw. Query-Parameter ?key=) — kein
OAuth, kein Service-Account, keine dauerhaften Berechtigungen. Beide
Anbindungen sind opt-in: ohne Keys läuft das CRM komplett
ohne Google.
Mehrsprachige Mail-Vorlagen — Platzhalter bleiben heil.
Endpoint:
translation.googleapis.com/language/translate/v2. Du
klickst in der Vorlagenverwaltung auf „Übersetzen" → das CRM legt eine
neue Vorlage in der Zielsprache an, manuell editierbar bevor sie produktiv geht.
Platzhalter-Schutz: Bevor das CRM den Text an Google sendet,
wickelt es jeden Platzhalter in
<span class="notranslate">{vorname}</span> —
Google erkennt das Tag und lässt den Inhalt unangetastet. Beispiel:
POST https://translation.googleapis.com/language/translate/v2?key=AIza…{ "q": "Hallo <span class="notranslate">{vorname}</span>, schön dass Sie hier sind.", "source": "de", "target": "en", "format": "html" }→ { "data": { "translations": [ { "translatedText": "Hello {vorname}, nice that you are here." } ] } } Wichtig: Die Mehrsprachigkeit ist nicht
vollautomatisch beim Versand. Du erzeugst pro Zielsprache eine eigene
Vorlage und pflegst sie nach Bedarf — das CRM versendet dann je nach
Empfänger-Sprache die passende Vorlage.
Discovery-Daten für die Neukunden-Recherche.
Endpoint:
places.googleapis.com/v1/places:searchText. Im Backend-Bereich
„Kontakt-Radar" stellst du Branche + Region + max. Trefferzahl (Default 40
für Places — die KI-Suche-Seiten haben einen eigenen, niedrigeren Default)
ein. Das CRM ruft synchron, normalisiert die Antwort ins
nz_crm_candidates-Schema und legt die Ergebnisse in der Prüf-Liste ab.
Das CRM fordert per FieldMask nur die Felder an, die es im CRM
speichert — alles andere fällt schon Google-seitig weg. Beispiel-Antwort:
{ "places": [{ "id": "ChIJN1t_tDeuEmsRUsoyG83frY4", "displayName": { "text": "Café Sonnenblume" }, "formattedAddress": "Kyrenia 99300", "websiteUri": "https://cafe-sonnenblume.example", "internationalPhoneNumber": "+90 392 555 0142", "addressComponents": [ { "longText": "Kyrenia", "types": ["locality"] } ]}], "nextPageToken": "ATp…" } Job-Historie + Roh-Antworten liegen lokal in der CRM-Datenbank — kein „Sync
mit Google", keine Cloud-Daten-Wanderung. Spätere Anreicherung (E-Mail-
Adresse aus der Website) läuft serverseitig im Plugin per Eigen-Scraping,
ohne weitere API-Calls.
Was du grob bei Google bezahlst.
Listenpreise von Google (Stand Plugin-Doku) — bitte vor produktivem Einsatz
auf der Google-Cloud-Preisseite gegenprüfen, Google kann Preise jederzeit
anpassen.
- Cloud Translation v2 Basic: ~20 USD / 1 Mio. Zeichen.
- Places API (New) Text Search „Pro" SKU: ~0,032 USD pro Aufruf (≈ 32 USD / 1.000 Calls), mit Free Tier zu Beginn.
- Beispiel-Radar-Lauf mit 40 Treffern = max. 2 Pages à 20 Treffer = 2 Calls ≈ 0,06 USD. E-Mail-Anreicherung kostet bei Google nichts, läuft als Eigen-Scraping.
Quota-/Schlüssel-Ablauf — Graceful Degradation: Das CRM
prüft HTTP != 200 und gibt eine sprechende
WP_Error mit Google-Original-Message zurück
(z. B. „Places-Suche fehlgeschlagen: REQUEST_DENIED — bitte ‚Places API
(New)' im Google-Cloud-Projekt aktivieren"). Kein automatischer Fallback
auf einen anderen Provider, kein Retry. Die Prüf-Liste bleibt sauber —
keine halben Inserts.
Was wir bewusst weglassen.
Andere CRMs werben mit „Google-Workspace-Sync" — wir bauen es bewusst nicht ein.
Der Aufwand wäre groß, die DSGVO-Lage knifflig, und du sitzt am Ende fester im
Google-Ökosystem als du gewollt hast. Das ist nicht unsere Linie.
- Kein Google-Workspace-Sync (Mails, Kontakte, Kalender)
- Keine Google-Calendar-Übernahme
- Keine Google-Drive- oder Sheets-Integration
- Keine Google-My-Business-, Search-Console- oder Analytics-Verknüpfung
- Keine bi-direktionale Synchronisation — Google ist Datenquelle, nicht Daten-Spiegel
Wo deine API-Keys liegen — und wo nicht.
- Beide Keys liegen in der
wp_options-Tabelle (Schlüsselnz_crm_google_api_keyundnz_crm_places_api_key). Wer es noch konservativer mag, kann sie als Konstanten inwp-config.phpeintragen. - Die Keys werden nie ins Frontend ausgeliefert — Aufrufe gehen rein serverseitig über die PHP-Schicht.
- Du kannst Google-Kontingente und Restriktionen im Cloud-Projekt selbst setzen (Quota, Domain-Restriction, IP-Liste, getrennte SKUs pro Key).
- Im CRM-Backend siehst du Aufrufe und Erfolg pro Job — falls eine API mal nicht antwortet, kommt die Original-Fehlermeldung von Google als Admin-Notice.
Mehr Funktionen
Die Google-Anbindung ist nur eine von vier Säulen.
Schau auch die anderen drei an — oder frag direkt nach Early-Access.
Zurück zur CRM-Übersicht ·
KI-Suche ·
Persönliche Ansprache ·
Individuelle Landingpages