- Warum Unternehmen Kontaktformulare an ein CRM-System anbinden sollten
- Was kostet die Integration eines Website-Formulars in ein CRM-System?
- Schritt 1. Einstellungen in Ihrem Zadarma-Konto
- Schritt 2. PHP-Skript
- Schritt 3. HTML-Formular
- Schritt 4. Zusätzliche Einstellungen
- Schritt 5. Was Sie vor dem Livegang beachten sollten
- Fazit
- Häufig gestellte Fragen
Oft beginnt der Kontakt mit einem Unternehmen ganz unspektakulär: Ein Interessent füllt ein Formular auf der Website aus. Vielleicht stellt er eine Frage oder bittet um ein Angebot. Damit daraus schnell ein Gespräch oder ein Auftrag entsteht, reicht es nicht, die Kontaktdaten irgendwo zu speichern. Die Anfrage muss an der richtigen Stelle ankommen und jemand sollte sich zeitnah darum kümmern.
Dabei hilft ein CRM-System. Es bündelt Kontaktdaten und Anfragen an einem Ort zusammen, sodass Sie Sie leichter den Überblick behalten. Wiederkehrende Aufgaben können automatisch ablaufen, etwa das Zuweisen eines Leads an den Vertrieb. Offene Anfragen geraten dadurch weniger schnell in Vergessenheit. Welche Aufgaben ein CRM-System im Arbeitsalltag übernehmen kann, erfahren Sie im Artikel „Was ist CRM und warum muss es in Telefonie integriert werden?“.
Ein CRM-System arbeitet jedoch nicht für sich allein. Es muss mit den Tools und Kommunikationskanälen verbunden sein, die Sie bereits nutzen. Dazu gehören zum Beispiel Ihre Website, Ihr E-Mail-System oder ein Helpdesk. Eine API-Verbindung zwischen dem Website-Formular und dem CRM ist dafür eine praktische Lösung. Die Anfrage wird direkt übertragen, der bisherige Kontext bleibt erhalten, und Ihr Team müssen die Daten nicht noch einmal von Hand eingeben.
In diesem Artikel führen wir Sie Schritt für Schritt durch die Einrichtung. Sie erfahren, wie Formulardaten automatisch an ein CRM übertragen werden. Außerdem zeigen wir, welche zusätzlichen Informationen Ihrem Vertriebs- und Supportteam helfen können, die Arbeit erleichtern.
Warum Unternehmen Kontaktformulare an ein CRM-System anbinden sollten
Bevor wir uns den Code ansehen, lohnt sich ein Blick auf den praktischen Nutzen für Ihr Unternehmen. Was bringt Ihnen diese Integration konkret?
- Sofortige Datenübertragung. Sobald ein Nutzer auf „Absenden“ klickt, wird die Anfrage an das CRM übermittelt. Ihr Team wird benachrichtigt und kann mit der Bearbeitung beginnen, noch bevor der potenzielle Kunde die Seite verlässt.
- Weniger Fehler. Bei manueller Eingabe schleichen sich schnell Fehler ein. Eine falsch geschriebene E-Mail-Adresse oder eine fehlende Ziffer in der Telefonnummer kann Sie einen Kunden kosten. Die API überträgt die Daten automatisch an das CRM, sodass das Risiko für Tipp- und Übertragungsfehler sinkt.
- Der Kontext der Anfrage bleibt erhalten. Eine gewöhnliche E-Mail enthält meist nur die Angaben, die der Nutzer selbst eingegeben hat. Über die API lassen sich zusätzlich versteckte Formularfelder und weitere Parameter übermitteln, etwa die Seite, von der die Anfrage kam. So erkennen Sie besser, was der Interessent braucht.
- Automatische Lead-Segmentierung. Das Skript kann Leads automatisch mit Tags versehen. Welche Tags vergeben werden, richtet sich danach, von welcher Seite die Anfrage stammt. Anfragen über die Seite „Zahlungsfehler“ können beispielsweise direkt an den technischen Support weitergeleitet werden. Anfragen von der Seite „Preise“ gehen dagegen an den Vertrieb.
Nachdem wir uns die Vorteile angesehen haben, geht es nun an die praktische Umsetzung.
Was kostet die Integration eines Website-Formulars in ein CRM-System?
Teamsale CRM lässt sich zusammen mit der Zadarma-Cloud-Telefonanlage nutzen. Beide Dienste sind kostenlos. Damit Ihr Konto aktiv bleibt, müssen Sie Ihr Guthaben mindestens einmal alle drei Monate aufladen. Das Guthaben können Sie für verschiedene Leistungen verwenden, etwa für ausgehende Anrufe, virtuelle Rufnummern oder zusätzliche Funktionen der Telefonanlage.
Wenn Sie zusätzliche Funktionen brauchen, können Sie einen Tarif dazubuchen. Je nach Tarif sind zum Beispiel Gesprächsminuten für ausgehende Anrufe, virtuelle Rufnummern, eine KI-gestützte Sprachanalyse oder weitere CRM-Nutzer enthalten. Welcher Tarif zu Ihnen passt, hängt davon ab, wie groß Ihr Unternehmen ist, wie viele Gespräche und Anfragen anfallen und welche Funktionen Sie tatsächlich benötigen.
Schritt 1. Einstellungen in Ihrem Zadarma-Konto
Öffnen Sie den Bereich „Einstellungen → Integrationen und API“ und prüfen Sie, ob die Integration mit Teamsale CRM aktiviert ist. Wechseln Sie anschließend zum Bereich „Schlüssel und API“, dort finden Sie Ihre Zugangsdaten : den Key und das Secret. Mit diesen Daten werden API-Anfragen authentifiziert.
Schritt 2. PHP-Skript
Richten Sie ein Skript ein, der die Formulardaten entgegennimmt und per API an das CRM übermittelt. Sie können ihn beispielsweise unter https://my.site.com/zcrm_leads bereitstellen. Tragen Sie in die Felder UserKey und Secret die Zugangsdaten ein, die Sie im vorherigen Schritt erhalten haben.
<?php
$postData = $_POST;
if ($postData) {
if (isset($postData['phones'], $postData['phones'][0], $postData['phones'][0]['phone'])) {
$postData['phones'][0]['type'] = 'work';
}
if (isset($postData['contacts'], $postData['contacts'][0], $postData['contacts'][0]['value'])) {
$postData['contacts'][0]['type'] = 'email_work';
}
$params = ['lead' => $postData];
$params['lead']['lead_source'] = 'form';
$leadData = makePostRequest('/v1/zcrm/leads', $params);
if (
isset($leadData['status'], $leadData['data'], $leadData['data']['id'])
&& $leadData['status'] === 'success'
&& isset($postData['comment'])
&& !empty($postData['comment'])
) {
// If the client was created, you can add a text note to their card.
$addFeedMethod = sprintf('/v1/zcrm/customers/%s/feed', $leadData['data']['id']);
$messageData = ['content' => $postData['comment']];
makePostRequest($addFeedMethod, $messageData);
}
var_dump($leadData);
}
exit();
function makePostRequest($method, $params)
{
// Replace userKey and secret with your credentials from your Zadarma account.
$userKey = '';
$secret = '';
$apiUrl = 'https://api.zadarma.com';
ksort($params);
paramsStr=makeParamsStr(params);
sign=makeSign(paramsStr, $method, $secret);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $apiUrl . $method);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $paramsStr);
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'Authorization: ' . $userKey . ':' . $sign
]);
response=curlexec(curl);
error=curlerror(curl);
curl_close($curl);
if ($error) {
return null;
}
return json_decode($response, true);
}
/**
* @param array $params
* @return string
*/
function makeParamsStr($params)
{
return http_build_query($params, null, '&', PHP_QUERY_RFC1738);
}
/**
* @param string $paramsStr
* @param string $method
* @param string $secret
*
* @return string
*/
function makeSign($paramsStr, $method, $secret)
{
return base64_encode(
hash_hmac(
'sha1',
$method . paramsStr.md5(paramsStr),
$secret
)
);
}
?>
Schritt 3. HTML-Formular
Fügen Sie Ihrer Website ein HTML-Formular hinzu, dessen Daten an Ihr Skript und von dort an das CRM übermittelt werden. Achten Sie auf die korrekten Feldnamen: Nur dann werden die Daten richtig übertragen und im CRM den passenden Feldern zugeordnet.
<form method="POST" action="/zcrm_leads">
<label for="name">Name:</label>
<br>
<input type="text" id="name" name="name" value="">
<br>
<label for="comment">Comment:</label>
<br>
<input type="text" id="comment" name="comment" value="">
<br>
<label for="phone">Phone:</label>
<br>
<input type="text" id="phone" name="phones[0][phone]" value="">
<br>
<label for="email">Email:</label>
<br>
<input type="text" id="email" name="contacts[0][value]" value="">
<br>
<br>
<input type="submit" value="Submit">
</form>
Dieses Beispiel verwendet reines HTML und kommt ohne Bibliotheken von Drittanbietern aus. Sie können das Erscheinungsbild des Formulars an das Design Ihrer Website anpassen und bei Bedarf weitere Felder hinzufügen.
Eine vollständige Übersicht der verfügbaren Integrationsmethoden finden Sie im Abschnitt zur CRM-API.
Schritt 4. Zusätzliche Einstellungen
Das einfache Formular übermittelt einen Namen, eine Telefonnummer, eine E-Mail-Adresse und einen Kommentar. Über die CRM-API können Sie jedoch deutlich mehr Daten übertragen.
Marketingparameter
Wenn Ihre Website UTM-Parameter verwendet, können diese über versteckte Formularfelder automatisch an das CRM übermittelt werden. So lässt sich genau nachvollziehen, über welchen Werbekanal ein Lead generiert wurde.
Tags
Mit Tags können Sie Leads automatisch kategorisieren. Sie lassen sich entweder direkt im HTML-Formular oder im PHP-Skript zuweisen.
Zusätzliche Eigenschaften
Wenn Ihr Formular spezielle Felder enthält, etwa für eine bevorzugte Rückrufzeit oder eine ausgewählte Dienstleistung, können Sie diese über den Parameter custom_properties an das CRM übermitteln.
Schritt 5. Was Sie vor dem Livegang beachten sollten
In dieser Form ist das Formular bereits funktionsfähig. Bevor Sie es produktiv einsetzen, sollten Sie jedoch noch einige Vorkehrungen treffen:
- Spamschutz. Es empfiehlt sich, eine Prüfung mit dem kostenlosen Dienst Google reCAPTCHA einzubauen.
- Serverseitige Datenvalidierung. Prüfen Sie vor der Übertragung an das CRM, ob die E-Mail-Adresse und die Telefonnummer korrekt sind und alle Pflichtfelder ausgefüllt wurden.
- Fehlerbehandlung. Statt die Ausgabe von
var_dump($leadData)anzuzeigen, sollten Sie den Nutzer besser auf eine Bestätigungsseite oder eine Fehlerseite weiterleiten.
Fazit
Ein Kontaktformular ist eine der einfachsten Möglichkeiten, Daten an ein CRM zu übermitteln. Derselbe Ansatz lässt sich jedoch auch für Online-Shops, Chatbots, Landingpages und weitere Kanäle nutzen, über die Sie Anfragen erhalten. Die offene CRM-API von Zadarma setzt der Anzahl und Art der Integrationen keine Grenzen. Damit können Sie nahezu jeden Geschäftsprozess automatisieren und eigene Lösungen anbinden, ohne Dienste von Drittanbietern nutzen zu müssen. Wenn Sie Ihre Integrationsmöglichkeiten erweitern möchten, finden Sie eine vollständige Übersicht aller API-Methoden auf der Zadarma-Website im Bereich Hilfe → API“.
Häufig gestellte Fragen
Wie kann ich Leads automatisch von einem Website-Formular an ein CRM übermitteln?
Am zuverlässigsten funktioniert das über eine API-Integration. Die Formulardaten werden an ein serverseitiges Skript übermittelt, beispielsweise in PHP. Dieses erstellt eine signierte Anfrage und sendet sie an das CRM. Sobald das Formular abgeschickt wurde, wird der Lead automatisch angelegt.
Kann ich ein Website-Formular ohne Plugins an ein CRM anbinden?
Ja. Sie benötigen lediglich ein serverseitiges Skript, beispielsweise in PHP, Python oder sowie Zugriff auf die CRM-API. Zusätzliche Plattformen oder Website-Baukästen sind dafür nicht erforderlich.
Wie speichere ich API-Schlüssel sicher?
API-Schlüssel sollten ausschließlich serverseitig verwendet werden. Speichern Sie sie in der Serverkonfiguration oder in Umgebungsvariablen. Hinterlegen Sie Key und Secret niemals in JavaScript-Code, auf den Nutzer zugreifen können.
Muss ich für die Nutzung der CRM-API bezahlen?
Nein, der API-Zugriff ist bei Teamsale CRM kostenlos. Voraussetzung ist ein aktives Konto, dessen Guthaben mindestens alle drei Monate aufgeladen wird.