Skip to main content
MoEngage は、Amazon S3 バケットまたは SFTP サーバーに配置したファイルから、ユーザー、イベント、補助データのインポートを自動化します。ファイルを準備し、接続と列マッピングを一度設定するだけで、MoEngage が 1 回限りまたは定期的なスケジュールで新しいファイルを取得します。 以下のタブ付きセクションのいずれかでソースを選択すると、ページ全体でそのソースが選択された状態が維持されます。

インポートの種類

MoEngage は、ファイルから以下をインポートできます。
  • 登録済みユーザー:MoEngage にすでに登録されているユーザー。
  • 匿名ユーザー:MoEngage にまだ登録されていないユーザー。
  • イベント(標準およびユーザー定義):Campaign Interaction Events などの標準イベントと、独自のユーザー定義イベント。
  • 補助データ:一時的に取り込まれる補足的なユーザーデータ。補助データには独自の設定があります。補助データを参照してください。

ファイルを準備する

サポートされるファイル形式

MoEngage は、UTF-8 エンコーディングの CSV および NDJSON ファイルをサポートしています。

命名規則

MoEngage がインポートの種類と実行日を識別できるように、ファイルに名前を付けます。
すべてのファイルに一意の名前を付けてください。MoEngage は、以前のインポートが成功、部分的に成功、または失敗したかにかかわらず、すでに処理したファイル名をスキップします。
ファイル名は <import type>_<date time format>.<file extension> の 2 つの部分で構成されます。
  • 登録済みユーザー:プレフィックス registered_user_data_。例:registered_user_data_01311997.csv。
  • 匿名ユーザー:プレフィックス anonymous_user_data_。例:anonymous_user_data_jan_2022.csv。
  • イベント:プレフィックス <event name>_。例:イベント “Purchase Summary” の場合、Purchase_Summary_31011997.csv。
MoEngage は、<custom name>_<date time format>.<file extension> に従うカスタムファイル名もサポートしています。カスタム名には、英字、数字、スペース、アンダースコアを使用できます。 <date time format> サフィックスは、インポートが実行される日を表します。たとえば、インポートが 2022 年 1 月 7 日に実行され、選択された形式が ddmmyyyy の場合、MoEngage は 07012022.csv または 07012022.json で終わるファイルを探します。形式は設定時にダッシュボードで構成します。サポートされる形式は以下のとおりです。
イベント、イベント属性、ユーザー属性のプレフィックスとして moe_ を使用しないでください。これは予約済みのシステムプレフィックスです。
ファイル拡張子:
  • 暗号化なし:.csv、.json
  • PGP 暗号化あり:.csv.asc、.json.asc、.csv.pgp、.json.pgp

ファイル構造

インポートするファイル形式に応じてファイルを構成します。
  • 最初の行は列名である必要があります(ヘッダー行として扱われます)。
  • 列名の重複(名前は大文字と小文字を区別します)や列名の欠落があってはなりません。
  • 区切り文字としてサポートされるのはカンマ(,)のみです。
  • 空の行は避けてください。
  • 属性タイプ list およびその他の複合型(JSON、辞書など)。
  • CSV ファイルの複数行サポートは、デフォルトで無効になっています。この機能が必要な場合は、サポートにお問い合わせください。Ctrl+M や \r など、\n 以外の改行形式はサポートされていません。複数行サポートを有効にすると、インポートの処理速度に悪影響を与える可能性があります。
サンプルファイル:登録済みユーザー、匿名ユーザー、イベント、マッピングファイル。
MoEngage は、配列以外の列での |(パイプ)文字をサポートしていません。String、Numeric、Boolean の列にこの文字が含まれていないことを確認してください。

フォルダ構造

すべてのファイルを 1 つのフォルダに配置し、設定時にフォルダパスを構成します。MoEngage はサブフォルダやルートフォルダ内を参照しません。

配列のサポート(CSV)

  • 単純な配列がサポートされています。ネストされた配列や連想配列はサポートされていません。
  • CSV でサポートされている区切り文字はパイプ(|)です。例: [1|2|3]。
  • サポートされているデータ型は Array String と Array Double(数値)です。列のマッピング時に Map column to attribute リストで型を選択してください。
  • 配列内のすべての要素は同種である必要があり、すべて integer/double か、すべて string のいずれかでなければなりません。そうでない場合、MoEngage は各要素を宣言された型に型変換しようと試み、その結果を保存します。
  • 配列の型変換: 配列 ["1" | 2 | "abc"] を Array Double としてマッピングした場合、"abc" は数値に変換できないため破棄され、MoEngage は [1, 2] を取り込みます。
例 String 列、Array String 列、Array Double 列を含む CSV 行:
  • tags は Array String としてマッピングされ、MoEngage は ["premium", "beta_user", "newsletter"] を取り込みます。
  • scores は Array Double としてマッピングされ、MoEngage は [4.5, 3.8, 5.0] を取り込みます。
各要素はパイプ区切り文字の間に置かれ、値全体は角括弧で囲まれます([element1|element2|element3])。パイプの前後にスペースは入れません。

制限

ファイルインポートには以下の制限があります。
インポートされたデータはアーカイブの対象ですMoEngage は、非アクティブなユーザー、イベント、デバイスを 14 日ごとにアーカイブし、アーカイブされたデータを完全に削除します。登録ユーザーはアクティビティやキャンペーンエンゲージメントがないまま 365 日経過するとアーカイブされ、匿名ユーザーは 60 日後にアーカイブされます。ユーザー属性のインポートや更新はアクティビティとして扱われないため、アーカイブは延期されません。アーカイブを延期できるのはイベントとキャンペーンエンゲージメントのみです。インポートする前に、Data Archival (Retention) Policy の条件を確認し、どのレコードが該当するかを確認してください。
レート制限(デフォルト値。引き上げについては MoEngage にお問い合わせください): 1 時間あたりのレートは 1 時間に取り込まれる最大数、1 日あたりのレートは 1 日の合計上限です。レート制限を超えると、Data Imports ダッシュボードに Rate limit breached アラートが表示されます。
非常に多数のファイルを同時にスケジュールすることは避けてください。個々のファイルが小さくても、処理のバックログが発生し、取り込みが遅れる可能性があります。多数のファイルをまとめてキューに入れるのではなく、スケジュールされたインポートを時間をずらすか、バッチに分けて実行してください。

必要なアクセス権と接続

インポートを作成する前に、MoEngage にソースへのアクセス権を付与します。
MoEngage に S3 バケットへの読み取りアクセス権を付与し、App Marketplace で接続を設定します。IAM 権限と接続の設定については、認証を設定する、権限を付与する、および App Marketplace で Amazon S3 を接続するを参照してください。

インポートを設定する

インポートは 3 つのステップで設定します。接続とファイル形式を構成し、列を MoEngage 属性にマッピングし、インポート頻度を選択します。
左側のナビゲーションに Data メニューが表示されない場合は、MoEngage カスタマーサクセスチームに連絡して有効にしてください。
MoEngage のサイドバーで Data > Data imports に移動し、+ Import をクリックして、Users または Events を選択します。次に、ソースのタイルを選択して Continue をクリックします。

ステップ 1:接続とファイル形式を構成する

Registered users と Anonymous users のどちらをインポートするかを選択するか(ユーザーインポートの場合)、インポートするイベントを選択します(イベントインポートの場合)。登録済みユーザーと匿名ユーザーのインポートでは、想定されるファイル名が異なります。命名規則を参照してください。 イベントの場合、ファイル名は選択したイベントのイベント名で始まる必要があります。たとえば、イベント “App/Site Opened” のイベント名は MOE_APP_OPENED であるため、ファイル名は MOE_APP_OPENED_ で始まります。新しいイベントを作成するには、+ Create event をクリックして一意の名前を入力します。新しいイベントは、最初のインポートが成功した後にのみアプリに表示されます。 次に、接続とフォルダを構成します。
  1. S3 connection リストで接続を選択します(または + Add connection をクリックします)。
  2. File type リストで CSV または JSON を選択します。
  3. Folder path ボックスにディレクトリパスを入力します。MoEngage はマーケットプレイスの接続からバケット名を解決するため、バケット名や末尾のスラッシュは含めないでください。
  4. PGP で暗号化されたファイルをインポートするには、Is your file encrypted? を選択し、秘密の Decryption Key、任意の公開 Signing Key、および Key passphrase を入力します。
S3 接続、ファイル形式、フォルダパス、暗号化のオプション
ダッシュボードでこのインポートを識別するための一意の Import name を入力します。
PGP(Pretty Good Privacy)を使用すると、機密ファイルをインポートする前に暗号化できます。MoEngage は S3 および SFTP のファイルインポートで PGP 暗号化をサポートしています。前提条件:
  • PGP キーペア: 公開鍵(ファイルの暗号化用)と秘密鍵(復号用)。秘密鍵は決して共有しないでください。
  • 署名用キーペア: 公開鍵(ファイルの署名用。MoEngage SFTP 統合で必須)と秘密鍵(署名の検証に内部で使用)。
以下の手順では、PGP 標準の無料実装である GnuPG を使用します。ステップ 1. キーペアを生成する。 GnuPG などのツール(gpg --full-generate-key)を使用して PGP キーペアを生成し、RSA と 1024 ビットのキーサイズを選択します。
  • MoEngage は、最大 1024 ビット長の RSA キーを使用したファイル暗号化をサポートしています。4096 ビットなどのより大きな RSA キーはサポートされておらず、復号時に失敗します。より小さな RSA キーサイズでキーペアを生成してください。
  • 暗号化時には圧縮をオフにしてください。
ステップ 2. ファイルを暗号化する。 公開鍵でファイルを暗号化し、S3 または SFTP フォルダにアップロードします。--sign オプションを指定すると、暗号化と同時にファイルに署名します。
ステップ 3. MoEngage UI でキーを追加する。 インポートのセットアップ時に、Decryption Key フィールドに秘密鍵を、Key Passphrase フィールドにパスフレーズを入力します。ステップ 4. ファイルを復号する。 復号には、秘密鍵とそのパスフレーズが必要です。PGP ソフトウェアで暗号化されたファイルを選択し、パスフレーズを入力すると、暗号化されていないファイルが生成されます。Python ユーザーは python-gnupg パッケージを使用できます。
ステップ 5. ファイルの署名を検証する(任意)。 ファイルに署名した場合は、MoEngage ダッシュボードに署名用の公開鍵を追加します。MoEngage は S3 または SFTP フォルダ内のファイルの署名を検証します。プログラムで検証する場合、署名が一致すると status.signature_id に値が設定されます。

ファイルの構成

ファイル名に含まれる DateTime 形式を選択します(ファイル名は _<date time format>.csv で終わる必要があります)。フォルダ内に一致するファイルが少なくとも 1 つ存在することを確認してから、Fetch file(s) をクリックします。接続と形式が正しい場合、MoEngage は上位 5 行のプレビューを表示します。 MoEngage がファイルを取得できない場合、以下のメッセージが表示されることがあります。
  • Given S3 Access Key is not valid:S3 マーケットプレイス接続の詳細を確認してください。
  • Please check the folder path and try again:フォルダパスと、そのフォルダに互換性のあるファイルが存在することを確認してください。
  • Found zero data rows in the file:ファイルのヘッダーの後に行がありません。MoEngage は少なくとも 2 行(ヘッダー 1 行 + データ 1 行)を想定しています。
Next をクリックしてマッピングに進みます。

ステップ 2:列を MoEngage 属性にマッピングする

各ファイル列を MoEngage 属性にマッピングします。各列には、サンプル値付きの列名、Map attribute セレクター(データ型を選択し、DateTime 列の場合は形式も選択)、および Skip アクションが表示されます。新しい属性を作成するには、+ Create attribute をクリックします。+ Add Field をクリックして、マッピングを手動で入力することもできます。 必須のマッピングは、インポートの種類によって異なります。
  • ユーザーインポート(登録済み):識別子の列を User ID にマッピングします。Unified Identity が有効になっている場合は、追加の識別子もマッピングするオプションがあります。
  • ユーザーインポート(匿名):識別子の列を Anonymous ID にマッピングします。
  • イベントインポート:識別子の列を User ID に、タイムスタンプの列を Event Time にマッピングします。
イベントの場合は、Event Time (UTC) または Event Time (App Timezone) のいずれかをマッピングします。Event Time (UTC) を選択した場合、イベント時刻は MoEngage ダッシュボードの設定で構成されたタイムゾーンに変換されます。
必須のマッピングが設定されると、その列をスキップすることはできなくなります。

マッピングファイル

必要に応じて、マッピングファイルをアップロードして列を自動マッピングできます。マッピングテーブルの右上にある Upload mapping file をクリックし、ファイルを選択します。マッピングは自動的に構成され、マッピングファイルで参照されているがまだ存在しない属性を作成するためのモーダルが表示されます。マッピングファイルにあってファイルにない列は無視され、ファイルにあってマッピングファイルにない列は、手動マッピング用に空欄のまま残されます。 新規インポートの場合、MoEngage は参考として使用できるサンプルマッピングファイルを提供しています。既存のインポートを複製した場合、そのマッピングファイルがあらかじめ添付されており、ダウンロードできます。マッピングファイルで MoEngage に存在しない属性に列がマッピングされている場合、そのマッピングは空欄のまま残されます。まず UI から属性を作成してから、列をその属性にマッピングしてください。 マッピングファイルには、各ソース列と MoEngage 属性の間のマッピングと、列のデータ型が含まれます。ファイルは JSON 形式である必要があります。ダッシュボードで列を 1 つずつマッピングする代わりに、マッピングファイルをアップロードしてマッピングを自動化できます。
各列について、次のフィールドを指定します。
  1. column (必須): ソースファイルの列名。JSON ファイルのレベル 2 のキーには、ドット表記(key1.key2)を使用します。
  2. moe_attr (必須): 列のマッピング先となる MoEngage 属性。各列が一意の moe_attr にマッピングされるようにしてください。
  3. type (任意): 列のデータ型。サポートされている型については以下を参照してください。
  4. datetime_format (任意): 日時形式。DateTime フィールドの場合のみ必須です。
  5. is_skipped (任意): ブール型のフィールド。true とマークされた列はインポート時にスキップされます。

参考: 標準ユーザー属性

以下のキーを使用して、ソース列を MoEngage の標準ユーザー属性にマッピングします。完全な一覧については、Data Management ダッシュボードを参照してください。
標準の文字列属性は正しいデータ型で追跡してください。たとえば、First Name(u_fn)が文字列ではなく数値や配列として取り込まれると、Create segment ページのサンプルユーザーが 500 エラー(“There seems to be an error”)で読み込めなくなります。これを修正するには、Data Management ダッシュボードで属性のデータ型を String に固定し、影響を受けたユーザーの修正済みデータを再送信してください。

サポートされている属性タイプ

MoEngage は、配列型以外の列で |(パイプ)文字をサポートしていません。String、Numeric、Boolean の列にこの文字が含まれていないことを確認してください。

ユーザー属性の予約キーワード

MoEngage は次のキーを予約しています。ユーザー属性をマッピングまたは追跡する際には、これらを使用しないでください。
  • USER_ATTRIBUTE_UNIQUE_ID
  • USER_ATTRIBUTE_USER_EMAIL
  • USER_ATTRIBUTE_USER_MOBILE
  • USER_ATTRIBUTE_USER_NAME
  • USER_ATTRIBUTE_USER_GENDER
  • USER_ATTRIBUTE_USER_FIRST_NAME
  • USER_ATTRIBUTE_USER_LAST_NAME
  • USER_ATTRIBUTE_USER_BDAY
  • USER_ATTRIBUTE_NOTIFICATION_PREF
  • USER_ATTRIBUTE_OLD_ID
  • MOE_TIME_FORMAT
  • MOE_TIME_TIMEZONE
  • USER_ATTRIBUTE_DND_START_TIME
  • USER_ATTRIBUTE_DND_END_TIME
  • MOE_GAID
  • INSTALL
  • UPDATE
  • MOE_ISLAT
  • status
  • user_id
  • source

ポートフォリオのサポート(プロジェクトレベルのルーティング)

列のマッピングを使用して、インポートされたイベントを MoEngage のポートフォリオワークスペース内の特定のプロジェクトにルーティングできます。プロジェクト識別子の列(brand_name や app_id など)を MoEngage 属性 moe_project_name にマッピングします。値は MoEngage のプロジェクト名と完全に一致する必要があります(大文字と小文字は区別されます)。
  • ルーティング成功: 値がポートフォリオ内のプロジェクトと一致する場合、MoEngage はそのプロジェクトレベルでユーザーまたはイベントを取り込みます。
  • フォールバック: マッピングがない、空白である、またはプロジェクト名と一致しない場合、MoEngage はグローバルなポートフォリオレベルでデータを取り込みます。

ファイルセグメントとして保存する

Save as File Segment をオンにして名前を入力すると、インポートしたユーザーからキャンペーンで使用できるセグメントが作成されます。
  • 既存のセグメント:ユーザーは追加モードで追加されます。新しいユーザーが追加され、削除されるユーザーはいません。
  • 新しいセグメント:更新モードを選択します。Replace(各インポートでセグメントのユーザーが完全に置き換えられます)または Append(各インポートでユーザーが追加され、削除されるユーザーはいません)。
ファイルセグメント名に / や Unicode 文字を使用しないでください。使用するとインポートが失敗します。

インポートの動作

ユーザーインポートの場合、Import Behaviour で Update existing users only を選択すると、MoEngage にすでに存在するユーザーの属性を一括更新できます。このインポートでは MoEngage は新しいユーザーを作成せず、識別子が MoEngage にまだ存在しない行は無視されます。

インポート通知を送信する

通知をオンにし、インポートの作成時、成功時、または失敗時にアラートを受け取るメール受信者を最大 10 人選択します。マッピングが完了したら、Next をクリックします。

ステップ 3:インポート頻度を選択する

MoEngage がファイルを取得するタイミングを定義します。
  • 1 回限りのインポート:すぐに実行するか、将来の日時にスケジュールします。
  • 定期的なインポート:間隔と詳細設定を指定して、毎時、毎日、毎週、または毎月実行します。
各実行で、MoEngage は構成された DateTime 形式に一致するファイルを取得するため、ファイル名が正しいことを確認してください。必要に応じて、一定回数の実行後または特定の日付にインポートを終了するように設定できます。Done をクリックします。
インポートされたユーザーのチャネル到達可能性とカスタムセグメントは、インポート完了後 2 時間以内に利用可能になります。それに合わせてキャンペーンを計画してください。

重複インポート

一度に構成できる一意のインポートは 1 つのみです。以下のすべてが既存のアクティブなインポートと一致する場合、そのインポートは重複と見なされます。
  1. インポートの種類:Users または Events。
  2. インポートのサブタイプ:イベント名、または Registered / Anonymous。
  3. S3 フォルダパス。
  4. バケット名。
いずれか 1 つのパラメーターが異なる場合、そのインポートは一意です。

インポート失敗ポリシー

MoEngage は、失敗したファイルを最大 30 回まで自動的に再試行してから、完全に FAILED としてマークします。設定時に、失敗時のメールアラートを構成できます。ファイルレベルの失敗によってスケジュールが停止することはなく、今後のスケジュールされた実行は独立して継続されます。

サポートされる日時形式

これらは、マッピングファイルの datetime_format フィールドで使用するか、マッピング時に DateTime 列を構成する際に使用します。

インポートを管理する

インポートの監視、インポートステータスの理解、または手動や API による実行のトリガーについては、Imports Overview のインポートの仕組みを参照してください。

よくある質問

右側の省略記号をクリックし、View をクリックしてインポートの詳細を確認します。Failed ステータスにカーソルを合わせると、理由を確認できます。
その場合でも、新しいデータはアーカイブされたセグメントに追加されます。必要に応じてセグメントのアーカイブを解除できます。
インポート処理が開始されると、途中で停止することはできません。データは複数のステップを経て処理されるため、中断すると不完全または不整合な結果になる可能性があるからです。現在のインポートが完了するまで待つことをお勧めします。
はい、スケジュールされたインポートが今後自動的に実行されないように停止できます。そのためには、Data Imports ダッシュボードでインポートスケジュールを見つけ、Actions メニューから Archive オプションを選択します。これにより、次回のスケジュール時刻に実行されなくなります。
インポートが停止しているように見える場合や、通常より時間がかかっている場合は、待つことをお勧めします。システムにはこうした状況を自動的に処理し、必要に応じて再試行するチェック機能が備わっています。処理中に同じインポートを手動で再度開始すると、競合が発生し、元のインポートが正常に完了しなくなる可能性があります。
MoEngage は失敗したファイルを最大 30 回まで自動的に再試行し、それでも失敗した場合は恒久的に FAILED としてマークします。また、セットアップ時に通知のチェックボックスを選択すると、失敗時のメールアラートを設定することもできます。
いいえ。ファイルが処理の再試行回数を使い切り、Applicable rate limit breached ステータスで失敗した場合、MoEngage はそのファイルを単独で再実行できないため、定期スケジュールで自動的に再処理されることはありません。この再試行制限は、取り込みパイプラインが過負荷になるのを防ぐためのものです。影響を受けたファイルを再処理するには、ファイル名を変更してソースフォルダに再アップロードし、MoEngage が新しいファイルとして扱うようにしてください。レート制限に達する可能性を減らすには、多数のファイルを一度にスケジュールするのではなく、大きなバッチを分散させてください(Limits を参照)。
スケジュールされた各実行時に、MoEngage は設定されたフォルダパスを検索し、ファイル名のプレフィックスと日時形式の設定に基づいて新しいファイルを選択します。ファイルはフォルダの場所とファイル名の組み合わせで一意に識別されるため、各ファイルは 1 回だけ処理されます。
いいえ。すでに処理されたファイルは、ファイル名とフォルダの場所が同じである限り、再度処理されることはありません。同じファイルを別のフォルダに配置した場合は、その新しいフォルダ用に設定されたインポートによって再度処理されます。
いいえ。ユーザーインポートとイベントインポートは別々のタスクとして設定してください。各ソースファイルには、ユーザー属性のみ、またはイベントレコードのみを含める必要があります。
NDJSON(Newline-Delimited JSON)とは、.json ファイルの各行が改行で区切られた完全な JSON オブジェクトである形式です。この形式により、MoEngage は大規模な JSON データセットを 1 行ずつ処理でき、スケーラブルで堅牢なインポートが可能になります。
いいえ。MoEngage は圧縮ファイルのインポートをサポートしていません。
ファイルタイプを変更すると、既存のプレビューが削除され、新しいファイルタイプで利用可能なファイルが再取得されます。プレビューするファイルを再度選択し、新しいファイルの構造に基づいてマッピングを再設定する必要があります。