このページが存在する理由である罠
Google Ads用にハッシュ化したリストをすでに用意していて、その列をMetaに使い回そうとしているなら――やめてください。Googleは先頭に + の付くE.164を明記し、Metaは国番号付きの数字を明記していて、自ら示す例は (650)555-1212 → 16505551212――プラス記号なしです。ハッシュ化は厳密ですから、2つの形式は無関係な2つのダイジェストを生みます。ハッシュ化した電話番号の列1つで両方のプラットフォームをまかなうことはできません。 Googleは問題ないのにMetaのマッチ率だけが不可解に低かったのなら、まずここを確認してください。
Metaが明記するルール、項目ごとに
Metaのcustomer information parametersドキュメントより:
- メールアドレス: "Trim any leading and trailing spaces. Convert all characters to lowercase." これがルールのすべてです――Googleと違い、Gmailのドット除去はありません。
- 電話番号: "Remove symbols, letters, and any leading zeros"、そして "Always include the country code as part of your customers' phone numbers." 数字のみ、先頭に国番号、上記の例のとおりです。
- ハッシュのエンコード: 16進、小文字――Metaのドキュメントは "HEX representations… using lowercase for A through F" と指定しています。大文字16進のダイジェストは、有効なハッシュでありながらマッチしません。
Google スプレッドシートでの手順
- データが入る前に電話番号の列をプレーンテキストに――さもないと、数式が走る前、貼り付けの時点で先頭のゼロと長い番号が壊れます。
- 上記のルールに従って正規化。 電話番号は、数字以外を除去し、先頭のゼロを落とし、
+なしで国番号を前置。メールアドレスは=LOWER(TRIM(A2))。 - SHA-256、小文字16進でハッシュ化。 Google スプレッドシートに組み込みのハッシュ関数はなく――Googleの関数リストにSHA256もMD5もDIGESTもありません――この工程はApps Scriptかアドオンになります。
- Meta自身のテストベクターで検証。 Metaは
john_smith@gmail.comの期待ダイジェストを公開しています:
62a14e44f765419d10fea99367361a727c12365e2520f32218d505ed9aa0f62f
この文字列をそのまま、あなたの環境でハッシュ化してください。違うものが返るなら、直すのはリストではなく数式です。
- CSVとして書き出してアップロード。 生の列とハッシュ化した列は分けておき、共有するものからは生の列を削除してください。
アップロード前の正直な注意
ハッシュ化されたリストは仮名化であって匿名化ではありません――電話番号のハッシュの背後にある数の空間は総当たりできる程度に小さく、広告プラットフォームのマッチングはソルトなしのハッシュを要求します。ハッシュ化ファイルは生のファイルと同じ慎重さで扱ってください。SHA-256が何を守り何を守らないかは、ハッシュ化とプライバシーのガイドで扱っています。
Hash Dataの位置づけ
Hash Dataはハッシュ化をシートの中で実行し、各プラットフォームが明記する正規化ルールを、記憶に頼らず列ごとに適用します。=HASHPHONE() はE.164に正規化して1ステップでハッシュ化します――これがGoogle形式の列に対応します。Metaのプラスなし形式については、ステップ2に従って正規化し、その結果をハッシュ化してください。
出典
- Meta – Conversions API customer information parameters – 2026年8月20日閲覧
- Meta – Custom Audiences guide – 2026年8月20日閲覧
- Google Adsヘルプ – 顧客データファイルの形式を設定する – 2026年8月20日閲覧(対比のため)
- Google スプレッドシートの関数リスト – 2026年8月20日閲覧