ホーム » コラム » Google広告 » カスタマーマッチ » カスタマーマッチのハッシュ化をVBAで実装する方法を解説

カスタマーマッチのハッシュ化をVBAで実装する方法を解説

この記事は7分で読むことができます。

記事サマリー

この記事を読んでわかること

    • メールアドレスをハッシュ化する理由とその方法
    • ExcelVBAを使用してハッシュ化を行う具体的な手順

こんな方へオススメの記事

    • デジタルマーケティングや広告運用に携わる方
    • 顧客データの安全な取り扱いに関心のある事業者

この記事を実践するための準備

    • ExcelがインストールされているデスクトップPC
    • Google広告などのカスタマーマッチを利用する広告プラットフォームのアカウント

 

カスタマーマッチとは!?

カスタマーマッチとは、Google広告などデジタルマーケティングの分野で使用される手法です。この手法では、広告主が保有する顧客データ(メールアドレスや電話番号など)を、広告プラットフォームが持つユーザーデータと照合し、より精確なターゲティング広告を配信したり、デバイスやブラウザを跨いだ精緻な計測をすることができます。

参照:カスタマーマッチについて

 

メールアドレスや電話番号のハッシュ化とは?

ハッシュ化とは、元のデータを固定長の文字列に変換する暗号化の一種です。カスタマーマッチにおいて、個人情報保護のためにメールアドレスや電話番号をハッシュ化します。以下の特徴があります。

  • 一方向の変換(元のデータに戻せない)
  • 同じ入力に対して常に同じ出力
  • 小さな変更でも大きく異なる出力
  • 一般的に広告で使用されるハッシュアルゴリズムはSHA-256

 

ExcelVBAでマクロを作ってみる

個人情報の取り扱いには細心の注意が必要です。オンラインのハッシュ化ツールも存在しますが、セキュリティ上の懸念から、多くの企業や個人がこれらのツールの使用を避けています。そこで、ExcelVBAを使用してローカル環境でメールアドレスをSHA-256でハッシュ化するマクロを作成することが、安全かつ効果的な解決策となります。

 

手順①:新しいExcelファイルを作成し、開発タブを有効にします

Excelのメニューから「ファイル」→「オプション」を選択します。「リボンのユーザー設定」タブを選択し、右側のリストで「開発」にチェックを入れます。「OK」をクリックして設定を保存します。

手順②:VBAエディタを開きます

「開発」タブから「Visual Basic」ボタンをクリックします。または、キーボードショートカット「Alt + F11」を使用します。

手順③:新しいモジュールを追加します

VBAエディタの左上にある「挿入」メニューをクリックします。「モジュール」を選択します。

手順④:コードを入力します

新しく作成されたモジュールに、以下のVBAコードをコピー&ペーストします。

Option Explicit

‘ SHA-256ハッシュを計算する関数
Function SHA256(ByVal sTextToHash As String) As String
Dim asc As Object
Dim enc As Object
Dim TextToHash() As Byte
Dim SharedKey() As Byte
Dim bytes() As Byte

Set asc = CreateObject(“System.Text.UTF8Encoding”)
Set enc = CreateObject(“System.Security.Cryptography.SHA256Managed”)

TextToHash = asc.GetBytes_4(sTextToHash)
bytes = enc.ComputeHash_2((TextToHash))

SHA256 = ConvToHexString(bytes)
Set asc = Nothing
Set enc = Nothing
End Function

‘ バイト配列を16進数文字列に変換する関数
Private Function ConvToHexString(vIn() As Byte) As String
Dim i As Long
For i = LBound(vIn) To UBound(vIn)
ConvToHexString = ConvToHexString & Right$(“0” & Hex$(vIn(i)), 2)
Next i
End Function

‘ メールアドレスをハッシュ化するサブルーチン
Sub HashEmailAddresses()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long

Set ws = ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, “A”).End(xlUp).Row

‘ B列にヘッダーを追加
ws.Cells(1, 2).Value = “ハッシュ化されたメールアドレス”

‘ A2からA列の最後の行までループ
For i = 2 To lastRow
‘ メールアドレスを取得してハッシュ化
Dim email As String
email = ws.Cells(i, 1).Value

‘ ハッシュ化されたメールアドレスをB列に出力
ws.Cells(i, 2).Value = SHA256(LCase(Trim(email)))
Next i

MsgBox “メールアドレスのハッシュ化が完了しました。”, vbInformation
End Sub

手順⑤:マクロを保存します

「ファイル」→「上書き保存」を選択します。ファイル形式として「Excel マクロ有効ブック (.xlsm)」を選択します。ファイル名を付けて保存します。

手順⑥:(オプション)実行用ボタンを作成します

Excelのシートに戻り、「開発」タブから「挿入」→「ボタン」(フォームコントロール)を選択します。シート上でドラッグしてボタンを配置します。「マクロの登録」ダイアログで「HashEmailAddresses」を選択し、「OK」をクリックします。ボタンの表示テキストを「メールアドレスをハッシュ化」などに変更します。

手順⑦:使用準備完了

A列のA2セルからメールアドレスを入力します(A1セルにはヘッダーを入れてください)。作成したボタンをクリックするか、VBAエディタから直接「HashEmailAddresses」サブルーチンを実行します。

メールアドレス ハッシュ化されたメールアドレス
sample@ishigurodo.com 8E2FABF27AFBBF680930200421BF2B68BDA3A1EAB020F5E35ECEA431DBF1EF73

セキュリティに関する注意事項①:マクロを有効にする

Excelファイルを開く際、セキュリティ警告が表示される場合があります。「コンテンツの有効化」をクリックしてマクロを有効にしてください。

セキュリティに関する注意事項②:信頼できる場所の設定

頻繁に使用する場合、特定のフォルダを「信頼できる場所」に設定することで、毎回の警告を回避できます。「ファイル」→「オプション」→「セキュリティセンター」→「セキュリティセンターの設定」→「信頼できる場所」で設定できます。

セキュリティに関する注意事項③:デジタル署名

これは必要が無い場合が多いですが、より高度なセキュリティが必要な場合、VBAプロジェクトにデジタル署名を追加することを検討してください。

 

最後に

カスタマーマッチのためのデータハッシュ化は、プライバシー保護と効果的なマーケティングの両立に役立ちます。ExcelVBAを使用することで、小規模なデータセットに対して簡単にハッシュ化を実行できますので、是非試してみてください。

上部へスクロール