Meta stellt eine Liste von Bibliotheks-SDKs sowohl auf der Clientseite (JavaScript) als auch auf der Serverseite (PHP, Java, Python, NodeJS, Ruby) bereit. Diese SDK-Bibliotheken sollen Entwickler*innen dabei unterstützen, die Qualität der Parameter von Conversions API-Events (z. B. fbc, fbp, client_ip_address und andere Parameter für Kund*inneninformationen wie em und ph) zu verbessern und Werbetreibende in die Lage versetzen, die Best Practices von Meta für die Erstellung dieser Parameter einzuhalten.
Dieses Dokument enthält einen Überblick über beide Bibliotheken, eine Anleitung, welche Bibliothek zu verwenden ist, sowie Anwendungsbeispiele.
Clientseitig: Die Bibliothek und die Events befinden sich im Frontend auf der Browserseite. Die Bibliotheken sind in JavaScript implementiert. Entwickler*innen können sie direkt in ihre Webseite integrieren.
Serverseitig: Die Bibliotheken und Events befinden sich im Backend auf der Serverseite. Je nachdem, welche Sprache das Backend verwendet, stellt Meta Bibliotheken in verschiedenen Sprachen zur Verfügung (PHP, Java, Python, NodeJS und Ruby).
Alle Bibliotheken können unabhängig voneinander verwendet werden. Um das Potenzial für dich oder deine Kund*innen zu maximieren, solltest du die hier aufgeführten Empfehlungen durchgehen.
Parambuilder hält sich an die Best Practices aus der Entwicklungsdokumentation von Meta. Er ist auf der Clientseite (JavaScript) und auf der Serverseite (PHP, Java, Python, NodeJS, Ruby) implementiert.
Bei der Entwicklung der Lösung solltest du die folgenden Anwendungsbeispiele berücksichtigen.
Die Kombination des serverseitigen Parameter-Builders und des clientseitigen Parameter-Builders kann dir dabei helfen, eine hohe fbc- und IPv6-Abdeckung zu erzielen.
Dazu musst du zwei Bibliotheken zusammen integrieren: den serverseitigen Parameter-Builder und den clientseitigen Parameter-Builder.
// Example Controller which processes all requests to example.com
// Start process
ParamBuilder paramBuilder = new ParamBuilder(Arrays.asList('example.com', 'yourDomain.com'));
// Input the request's full URL, such as: example.com?fbclid=xxxxx
// Process and get recommended updated cookie
List<CookieSetting> updatedCookieList =
paramBuilder.processRequest(
request.getHeader("host"), // example.com
request.getParameterMap(), // {'fbclid':['xxxxx']}
cookieMap,
request.getHeader("referer"),
request.getHeader("X-Forwarded-For"),
request.getRemoteAddr(),
); // optional: referer full url
// Save cookie from server side
for (CookieSetting updatedCookie : updatedCookieList) {
Cookie cookie = new Cookie(updatedCookie.getName(), updatedCookie.getValue());
cookie.setMaxAge(updatedCookie.getMaxAge());
cookie.setDomain(updatedCookie.getDomain());
response.addCookie(cookie);
}
// Get fbc, fbp, client_ip_address
String fbc = paramBuilder.getFbc();
String fbp = paramBuilder.getFbp();
String client_ip_address = paramBuilder.getClientIpAddress();
// Get Normalized and Hashed PII like email and phone number
String normalizedAndHashedEmail = paramBuilder.getNormalizedAndHashedPII(‘John_Smith@gmail.com’,’email’);
String normalizedAndHashedPhone = paramBuilder.getNormalizedAndHashedPII(‘(650)555-1212’,’phone’);
// Call CAPI endpoint
.....
.setFbc(fbc)
.setFbp(fbp)
.setClientIpAddress(client_ip_address)
.setEmail(normalizedAndHashedEmail)
.setPhone(normalizedAndHashedPhone)
....
Detaillierte Beispiele findest du im Einführungsleitfaden für den serverseitigen Parameter-Builder oder in den darin verlinkten README-Dateien.
Detaillierte Beispiele findest du im Einführungsleitfaden für den clientseitigen Parameter-Builder oder in den darin verlinkten README-Dateien.
_fbp und _fbc so früh wie möglich in der Customer Journey auf deiner Webseite speicherst. Idealerweise rufst du die Cookies _fbp und _fbc beim Laden deiner Landingpage ab. Es ist nicht empfehlenswert, sie nur bei Events im unteren Funnel oder bei Auslösung bestimmter Events abzurufen._fbc und _fbp nicht außer Kraft und passe sie nicht an. Bei _fbc wird zwischen Groß- und Kleinschreibung unterschieden; normalisiere oder formatiere _fbc nicht in Kleinbuchstaben.getIpFn-Funktionalität solltest du zuerst die IPv6-Adresse abrufen und dann auf die IPv4-Adresse zurückgreifen, wenn die Funktion zum Abrufen der IPv6-Adresse auf der Clientseite des*der Nutzer*in nicht verfügbar ist.client_ip_address abzurufen und in einem Cookie zu speichern. Später kannst du den serverseitigen Parameter-Builder verwenden, um die bestmögliche client_ip_address aus Cookie und Anfrage abzurufen und an Meta zu senden.