Metaは、クライアントサイド(JavaScript)とサーバーサイド(PHP、Java、Python、NodeJS、Ruby)の両方のライブラリSDKのリストを提供しています。これらのSDKライブラリは、開発者がコンバージョンAPIイベントパラメーター(例えば、fbc、fbp、client_ip_address、emやphなどの顧客情報パラメーター)の品質を改善するのを助け、広告主がこれらのパラメーターの生成に関するMetaのベストプラクティスに従うことができるようにするためのものです。
このドキュメントには、これら2つのライブラリの概要、使用するべきライブラリに関するガイダンス、活用事例が含まれています。
クライアントサイド: ライブラリとイベントは、ブラウザーサイドのフロントエンドにあります。ライブラリは、JavaScriptで実装されています。開発者はこのライブラリを自分のウェブページに直接統合できます。
サーバーサイド: ライブラリとイベントは、サーバーサイドのバックエンドにあります。Metaでは、バックエンドで使う言語に応じて、さまざまな言語(PHP、Java、Python、NodeJS、Ruby)のライブラリを用意しています。
どのライブラリも単独で動作可能です。ただし、ご自身や顧客の環境で最適な結果を得るために、以下の推奨事項を確認してください。
Parambuilderは、Metaの開発者向けドキュメントに記載されているベストプラクティスに従っており、クライアントサイド(JavaScript)とサーバーサイド(PHP、Java、Python、NodeJS、Ruby)で実装されています。
ソリューション構築の際には、以下の活用事例を参考にすることができます。
サーバーサイドとクライアントサイドのパラメータービルダーを組み合わせることで、fbcおよびIPv6のカバレッジを高水準で実現する可能性を最大化できます。
そのためには、2つのライブラリ(サーバーサイドパラメータービルダーとクライアントサイドパラメータービルダー)を統合する必要があります。
// 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)
....
サーバーサイドでのパラメータービルダーのオンボーディングガイド、またはそこからリンクされているREADMEファイルで、いくつかの詳しい例を参照してください。
クライアントサイドでのパラメータービルダーのオンボーディングガイド、またはそこからリンクされているREADMEファイルで、いくつかの詳しい例を参照してください。
_fbpと_fbcのCookieを保存するようにしてください。ランディングページを読み込む時点で、_fbpと_fbcのCookieを取得するのが理想的です。Cookieをファネル下層イベントでのみ取得したり、特定のイベントがトリガーされた時点でのみ取得したりすることは、おすすめしません。_fbcまたは_fbpのCookieを、オーバーライドしたり調整したりしないでください。_fbcでは大文字と小文字が区別されます。_fbcの正規化や小文字への書式設定は行わないでください。getIpFn機能を実装する際には、まずIPv6アドレスを取得してから、ユーザーのクライアントサイドからIPv6アドレス取得機能が利用できない場合にはIPv4アドレスにフォールバックすることをおすすめします。client_ip_addressを取得し、Cookieに保存できます。その後、サーバーサイドのパラメータービルダーを使って、Cookieとリクエストの両方から最適なclient_ip_addressを取得し、コンバージョンAPIを使ってMetaに送信できます。