# Google スプレッドシートでメールアドレスを正しくハッシュ化する

> メールのハッシュ化が失敗する原因は、大文字小文字、見えない空白、Gmailのドット規則であって、ハッシュではありません。実際に一致させる正規化の順序。

- Source: https://www.8apps.co/ja/blog/hash-email-addresses-google-sheets
- Markdown: https://www.8apps.co/ja/blog/hash-email-addresses-google-sheets.md
- Published: 2026-09-02
- Author: 8appsチーム
- Language: ja

---
## ハッシュは問題ありません。問題は入力です。

`John@Example.com`、`john@example.com`、`john@example.com `（末尾に空白）は、1つのメールボックスであり、3つのまったく異なるSHA-256ダイジェストです。メールのマッチ失敗はどれもこうした瞬間にさかのぼります。ですからこのページの大半は、ハッシュ化の直前の3秒についての話です。

## 共通の処理：トリムしてから小文字化

土台については主要2社の見解が一致しています。Meta: *"Trim any leading and trailing spaces. Convert all characters to lowercase."* Google Ads: 小文字化し、空白を除去。Google スプレッドシートでは:

```
=LOWER(TRIM(A2))
```

この数式をすり抜ける罠が2つあります。

- **ノーブレークスペース。** `TRIM()` は `CHAR(160)` を除去しません。CSVエクスポートやコピー＆ペーストが仕込む、あの見えない文字です。見た目はきれいなセルが誤ったダイジェストを出すなら、まず `=SUBSTITUTE(A2, CHAR(160), "")` を。
- **リッチテキスト由来の不可視文字。** メールクライアントから貼り付けたアドレスは、ゼロ幅文字を連れてくることがあります。期待値との長さ比較（`=LEN(A2)`）が最も安価な検出手段です。

## 分岐点：Gmailのドットとプラス記号

ここでプラットフォームの規定は実際に異なります。一方のルールをもう一方に写すとデータが壊れます。

- **Google Ads** は `gmail.com` と `googlemail.com` のアドレスに限って追加のクリーンアップを明記しています。ユーザー名部分のドットを除去し、`+` 以降をすべて除去する。`Jane.Doe+Shopping@googlemail.com` → `janedoe@googlemail.com`。これを他のドメインに適用するのは誤りです。多くのメールシステムではドットに意味があり、Googleのルールもこの2ドメインだけを名指ししています。
- **Meta** はドットやプラスに関するルールをいっさい明記していません。トリムと小文字化が、明記された指示のすべてです。

したがってGmailアドレスの多いリストにはメール列が2つ必要です――Google向けに正規化したものと、Meta向けに正規化したもの。電話番号とまったく同じです（その話は電話番号ハッシュ化のガイドにあります）。

## そしてハッシュ化し、一度だけ証明する

SHA-256、小文字の16進出力――Metaのドキュメントは小文字16進を明示しています。Google スプレッドシートには組み込みのハッシュ関数がなく（Googleの関数リストに暗号関連のものは一切ありません）、ダイジェストはApps Scriptかアドオンから得ることになります。どちらを使うにせよ、パイプラインを一度だけ証明してください。Metaは `john_smith@gmail.com` の期待ダイジェストを公開しています――

```
62a14e44f765419d10fea99367361a727c12365e2520f32218d505ed9aa0f62f
```

――ですからこの文字列をそのままハッシュ化します。正しい答えが出れば連鎖全体が検証されたことになり、それ以外なら、リストに触れる前に数式を直してください。

## チェックリスト

1. 元がCSVや貼り付けなら `SUBSTITUTE(…, CHAR(160), "")`
2. `LOWER(TRIM(…))` ――常に
3. Gmailのドット／プラス処理――Google Adsの列のみ、この2ドメインのみ
4. SHA-256、小文字の16進
5. テストベクターでの確認――リストごとではなく、パイプラインごとに一度

## Hash Dataの位置づけ

[Hash Data](/ja/google-workspace/hash-data)はこれらの数式の隣、シートの中にハッシュ関数を置きます。正規化してからハッシュ化する流れが、保守すべきスクリプトではなく引き下げ一回で済みます――複数のアルゴリズム、標準的な16進出力を、そのリストがすでに置かれているスプレッドシートの中で。

## 出典

- [Google Adsヘルプ – 顧客データファイルの形式を設定する](https://support.google.com/google-ads/answer/7659867) – 2026年8月20日閲覧
- [Meta – Conversions API customer information parameters](https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters/) – 2026年8月20日閲覧
- [Google スプレッドシートの関数リスト](https://support.google.com/docs/table/25273) – 2026年8月20日閲覧
