CensusでSnowflake上の顧客データをSendGridのContactsとして連携してみた

CensusでSnowflake上の顧客データをSendGridのContactsとして連携してみた

2025.09.02

さがらです。

CensusでSnowflake上の顧客データをSendGridのContactsとして連携してみたので、その内容について本記事でまとめてみます。

検証環境

  • Snowflake:Enterprise(AWS東京リージョン)
  • Census:Enterprise
  • SendGrid:Free Trial

SnowflakeをSourceとして設定

まず、SnowflakeをCensusのSourceとして設定する必要があります。

この設定に関しては以下の記事が参考になると思います。

https://dev.classmethod.jp/articles/census-set-source-snowflake/

SnowflakeでSendGridに連携したいデータを定義

SendGridに連携するためのデータを、Snowflake上でテーブルとして定義します。

USE SCHEMA sagara_rawdata_db.sendgrid;

-- テーブルの定義
CREATE TABLE IF NOT EXISTS sendgrid_customers (
    "email" VARCHAR(255),
    "first_name" VARCHAR(255),
    "last_name" VARCHAR(255),
    "address_line_1" VARCHAR(255),
    "address_line_2" VARCHAR(255),
    "city" VARCHAR(255),
    "state_province_region" VARCHAR(255),
    "postal_code" VARCHAR(20),
    "country" VARCHAR(255),
    "phone_number_id" VARCHAR(20),
    "external_id" VARCHAR(255),
    "anonymous_id" VARCHAR(255)
);

-- 5レコードの日本仕様データを
INSERT INTO sendgrid_customers (
    "email",
    "first_name",
    "last_name",
    "address_line_1",
    "address_line_2",
    "city",
    "state_province_region",
    "postal_code",
    "country",
    "phone_number_id",
    "external_id",
    "anonymous_id"
) VALUES
('dummyuser1@example.com', '太郎', '山田', 'ダミー町1-2-3', 'ダミービル 101号室', 'ダミー市', 'ダミー県', '123-4567', 'Japan', '09012345671', 'ext_001', 'anon_001'),
('dummyuser2@example.com', '花子', '鈴木', '架空町4-5-6', '架空アパート 202', '架空市', 'ダミー県', '234-5678', 'Japan', '09012345672', 'ext_002', 'anon_002'),
('dummyuser3@example.com', '一郎', '佐藤', '見本町7-8-9', '見本マンション 303', '見本市', 'ダミー県', '345-6789', 'Japan', '09012345673', 'ext_003', 'anon_003'),
('dummyuser4@example.com', 'さくら', '高橋', 'テスト町10-11-12', 'テストハイツ 404', 'テスト市', 'ダミー県', '456-7890', 'Japan', '09012345674', 'ext_004', 'anon_004'),
('dummyuser5@example.com', '健太', '田中', 'サンプル町13-14-15', 'サンプルコーポ 505', 'サンプル市', 'ダミー県', '567-8901', 'Japan', '09012345675', 'ext_005', 'anon_005');

INSERT後にテーブルを確認すると、このようにデータが見えます。

2025-09-02_09h03_05

SendGridをDestinationとして設定

次に、SendGridをCensusのDestinationとして設定していきます。

https://docs.getcensus.com/destinations/available-destinations/sendgrid

SendGridのAPIキーを取得

まず、SendGridのAPIキーを取得します。

左のメニューのSettingsからAPI Keysを押します。

2025-09-02_09h15_39

右上のCreate API Keyを押します。

2025-09-02_09h18_10

API Key Nameは任意のものを入れて、API Key PermissionsFull Accessで、右下のCreate & Viewを押します。

2025-09-02_09h20_57

APIキーが表示されるため、コピーして保持しておきます。(後のCensusの設定で利用します。)

2025-09-02_09h36_21

Destinationの設定

Censusの左のメニューから、Destinationsを押します。

2025-09-02_09h39_33

右上の+ New Destinationを押します。

2025-09-02_09h40_19

SendGridを選択します。

2025-09-02_09h41_10

Nameに任意の名称を入れて、API Tokenには先程SendGridで確認した内容を入れて、右下のConnectを押します。

2025-09-02_09h44_08

次の画面で接続テストが行われます。問題なければ、右下のFinishを押します。

2025-09-02_09h45_09

Syncの設定

SnowflakeからSendGridにデータを転送するための、Syncの設定を行います。

左のメニューからSyncsを押し、+ Create a syncを押します。

2025-09-02_09h47_53

Select a Sourceでは、事前に作成したテーブルを選択します。(データベースなどが選択できるようになるまで、少し時間がかかるためご注意ください。)

2025-09-02_10h07_45

Select a Destinationでは、先程Destinationとして作成したSendGridを設定し、ObjectContactとします。

2025-09-02_10h18_34

Select a Sync Behaviorは、Update or Createとします。

2025-09-02_10h22_43

Select a Sync Keyでは、SendGridのContactのEmailとSyncさせるカラムを設定します。

2025-09-02_10h25_54

Set Up SendGrid Field Mappingsでは、「Snowflakeのテーブルのカラム」と「SendGridのフィールド」をどうマッピングさせるか設定します。(下図は、Generate Mappingsで設定した内容です。)

2025-09-02_10h30_07

Run a Test Syncでは、Run Testを押してテスト実行します。

2025-09-02_10h30_35

2025-09-02_10h30_55

テスト実行が問題なく終われば、下図のように表示されるため、Nextを押します。(ちなみにRun Testを行うと、画像2枚目のように、1件だけSendGridにデータがSyncされております。)

2025-09-02_10h38_49

2025-09-02_13h28_51

Select a Run Modeを必要なものに設定して、Createを押します。

2025-09-02_13h30_22

Syncを手動実行

実際に作成したSyncを手動実行してみます。

作成したSyncのページに移動し、Run Nowを押します。

2025-09-02_13h31_25

Syncが完了すると、下図のように表示されます。

2025-09-02_13h35_07

この後、SendGridでContactsを確認すると、5レコード同期されていることが確認できました!

2025-09-02_13h36_41

あるContactの詳細画面を見ると、下図のように表示されます。Snowflake上のデータが同期されていることがわかりますね。

2025-09-02_13h37_18

最後に

CensusでSnowflake上の顧客データをSendGridのContactsとして連携してみました。

Censusを使うことで、SnowflakeからSendGridにとても簡単にデータを同期できますので、ぜひご活用ください!

この記事をシェアする

facebookのロゴhatenaのロゴtwitterのロゴ

© Classmethod, Inc. All rights reserved.