見出し画像

【Salesforce Marketing Cloud】項目数が多い時に便利!データエクステンションをスクリプトで作成する方法

はじめに

はじめまして。CREFILでコンサルタントをしている佐藤と申します。
私はこれまで、SalesforceのMarketing Cloudを使用した開発プロジェクトに数多く携わってきました。

そのため、Marketing Cloudで開発する際の便利な方法・引っかかったポイントなど、Marketing Cloud関連の情報を発信していきたいと考えています。
少しでも皆様のお役に立てれば幸いです。

今回は「Automation Studioのスクリプトアクティビティで、データエクステンションを簡単に作成する方法」をご紹介します。

データエクステンションとは?

データエクステンション(以下、DE)とは、簡単にいうと顧客のデータを格納するMarketing Cloudのデータテーブルのことです。
顧客に合わせたメッセージを配信するためにも、MAツールを活用する際には欠かせないものです。
作成方法は簡単で「Contact Builder」 または 「Email Studio」 から必要事項を設定して新規作成することが出来ます。

ただし、DEの項目(フィールド)は1項目ずつ「項目名」「データ型」「データの長さ」等を入力して設定することになります。
そのため、作成する項目数が多い場合は設定・確認に時間がかかります。
また、DE作成後に必要項目が漏れていた場合、間に項目を追加することができません。
項目の順番に決まりがある場合は、追加したい場所以降の項目を削除して再度追加していく、またはDE再作成となってしまいます。
時には「完了」をクリックした瞬間にエラーになって消えてしまうこともあります。(小まめに保存していくと良いです。)

Marketing Cloud:データエクステンションの項目作成画面

参考:Contact Builder でのデータエクステンションの作成
   Email Studio でのデータエクステンションの作成

ちょっと面倒だな。どうにか簡単に進められないかな。とお悩みの方は、
是非今回ご紹介する方法をお試しいただければと思います!

便利なDE作成手順をご紹介!

前置きが長くなりましたが、早速作成方法についてご説明します。

1.スクリプトを作成する

ここでいうスクリプトとは、Server-Side JavaScript(SSJS)のことで、サーバー上で動作する JavaScript のことです。
この言語がMarketing Cloud のアクティビティで機能するようにカスタマイズされており、データエクステンションの作成や情報のインポート、次週に誕生日を迎える顧客の絞り込みが出来ます。

参考:TRAILHEAD サーバーサイド JavaScript について
   データエクステンション関数

とは言え、スクリプト自体も1つ1つ記述していくのは大変です。
まずは以下のExcelテンプレートをダウンロードして、作成したいDEのスクリプトを作成します。

1-1.「DE」Sheetに必要な情報を入力する

  1. DE名:新規作成したいDEの名前を入力

  2. フィールド名:項目名(フィールド名)を入力

  3. データの種類:G列 を参考に、データの種類を入力

  4. 長さ:H列を参考に長さを入力

  5. プライマリーキー:プライマリーキーとなるものには「1」を入力

  6. Not_Null:レコードを追加・インポートする際に値の指定が必須の項目には「1」を入力

参考:Email Studio のデータエクステンションのデータ型

Excelテンプレート:「DE」Sheet

1-2.「script_code」Sheetに入力した内容が反映されていることを確認する

  1. 「DE」Sheetに入力した内容が数式で反映される

  2. 必要な情報が反映されていることを確認

Excelテンプレート:「script_code」Sheet

2.オートメーションを作成する

オートメーションとは、メールの送信やデータの加工、データのインポートなどを自動実行することが出来るMarketing Cloud アプリケーションです。
Marketing Cloudの「Automation Studio」でトリガーやスケジュール、実行ステップを作成することが出来ます。
DE作成用のオートメーションは1つ作成しておけば、後はスクリプトだけ編集して使い回すことが出来ます。

2-1.Marketing Cloudにて「Automation Studio」を開く

  1. TOP画面「すべてのアプリ」から「Journey Builder」→「Automation Studio」を開く

  2. 開いた「概要」ページから「新しいオートメーション」をクリックする

Marketing Cloud:Automation Studio

2-2.オートメーションのワークフローを設定する

  1. 無題のオートメーション:任意のオートメーション名を入力

  2. 開始ソース:「Schedule」をドラッグアンドドロップする

  3. ステップ1:「スクリプト」アクティビティをドラッグアンドドロップして「選択」をクリックする

  4. 「新しいスクリプトアクティビティの作成」をクリックする

Marketing Cloud:オートメーション ワークフロー

2-3.作成したスクリプトを貼り付ける

  1. 名前:任意のスクリプト名を入力

  2. 説明:必要に応じて入力

  3. サーバーサイド JavaScript:「script_tnp」Sheetの内容を貼り付ける

Marketing Cloud:スクリプトアクティビティの作成 1

4. 「%%code%%」部分に「script_code」Sheetに反映された内容を貼り付ける
5. 「構文の検証」をクリックして構文に問題がなければ「次へ」をクリック

Marketing Cloud:スクリプトアクティビティの作成 2

6. 「サマリー」画面で全体を確認してから「終了」をクリックする

Marketing Cloud:スクリプトアクティビティの作成 3

※今後、このオートメーションを使い回す際には、「%%code%%」部分だけ編集していくことになります。

2-4.作成したオートメーションを実行する

  1. 「保存」をクリック後「一回実行」をクリックする

  2. 実行するアクティビティをチェックして「実行」をクリックする

  3. 「一回実行の確認」が表示されるので「今すぐ実行」をクリックする

Marketing Cloud:オートメーションの一回実行

4. 「アクティビティ」をクリックして実行状況を確認する
5. なかなか更新されなかったら右端の「更新マーク」をクリックする
6. 実行状況が「完了」になったら終了

Marketing Cloud:オートメーションの一回実行確認

3.作成したDEを確認する

  1. TOP画面「すべてのアプリ」から「Audience Builder」→「Contact Builder」を開く

  2. 開いたページから「データエクステンション」をクリックする

  3. 「データエクステンション」フォルダ直下に作成されたDEの名前をクリックする

Marketing Cloud:データエクステンション

4. 「属性」にて項目が正しく作成されたことを確認する
5. データエクステンションの格納場所など、プロパティを編集して完了

Marketing Cloud:データエクステンション(Contact Builder)

※以下、Email Studioからデータエクステンションを確認した場合(参考)

Marketing Cloud:データエクステンション(Email Studio)

おわりに

今回のご紹介は以上となります。
先に少し記載した通り、1つオートメーションを作成してしまえば「スクリプトアクティビティ」部分を編集して使い回すことが出来るので、とても便利です。

また、テーブル定義書等を作成する際には、Excelテンプレートに貼り付けられる形にしておくと、沢山のDEを作成する場合でもミスなく素早く作成することが出来ます。

まだまだ使い切れていないMarketing Cloudの機能は沢山あると思いますので、これからも実践を通して学びながら発信していきます。