Loading
ただいま大変多くのお問い合わせをいただいており、ご連絡までにお時間を頂戴しております続きを読む

Marketing Cloud Engagement | スクリプトアクティビティ (SSJS) 実装時によくある質問

公開日: Jun 16, 2026
説明

Marketing Cloud Engagementにおいて、Server-Side JavaScript(SSJS)を用いた外部API連携を行う際のよくある質問と回答(FAQ)を掲載しています。送信元IPアドレスの特定方法、タイムアウト制限、デバッグログの出力方法など、実装・運用時に考慮すべき内容について記載します。

解決策

Q1. SSJSから外部APIを呼び出す際、受信側のIPアドレス許可リストに登録したいです。MCEのIPアドレスを教えてください。

A. 送信元IPアドレスはご利用のスタックごとに異なります。Marketing Cloud Engagementで許可するIPアドレス の「アウトバウンド通信(トークン化された送信、FTP、HTTP POST、HTTP GETなど)」の項目を参照し、該当スタックのIPアドレスを許可リストに登録してください。例えば Stack 1 では執筆段階で 13.111.250.0-15 が該当します。
 
 
【該当箇所の引用】
---
「Marketing Cloud Engagement の一部としてのアウトバウンドコミュニケーション(トークン化された送信、FTP、HTTP POST、HTTP GET など)。Amazon S3、Azure Blob Storage、Google Cloud Storage、または外部 SFTP サイトなどの外部ファイルの場所にファイルをインポートおよびエクスポートする場合。」
---
 
なお、同ページは英語版の方が最新情報が記載されている場合があります。登録後も外部サービス側でのブロックの有無や、公式ヘルプ記載のIPアドレスに変更がないかを定期的に確認することを推奨します。
 

Q2. オートメーションのスクリプト(SSJS)アクティビティでエラーや想定外の実行結果が発生しました。詳細のエラーログを確認してください。

A. SSJSはユーザー独自のスクリプト処理に依存して実行されるため、多くのケースではコード内部の動作やAPI呼び出しの詳細ログ(HTTP 400・500番台のエラー内容を含む)はプラットフォームのバックエンドには記録されません。インポートなどの標準アクティビティとは異なる点にご留意ください。
問題の原因を特定するには、コード内に独自のロギング処理を実装する方法が有益です。例えば、発生した例外情報やHTTPレスポンスの内容をデータエクステンションへ書き出す構成です。詳細は下記を参照してください。
 
参考)https://help.salesforce.com/s/articleView?id=000389966&type=1

なお、上記のようなロギング構成を実装済みにもかかわらず、DEへの書き込み自体が行われないレベルのエラー(プラットフォーム起因)が再現性を伴って、あるいは高頻度で発生している場合は、弊社側のサービスログに記録が残る可能性があります。その際はアクティビティ名、実行日時など詳細を添えてお問い合わせください。また、SSJSのエラー調査では、以下のような切り分けアプローチが有効です。お問い合わせの際にご協力をお願いする場合もあります。

・処理対象のデータを少しずつ変更して、どのデータでエラーが発生するかを特定する
・段階的に実装を進める中で、どのコードを追加・変更したタイミングでエラーが出始めたかを確認する
・エラーが発生している箇所での具体的なAPIリクエスト/レスポンスを確認する
 

Q3. SSJSのタイムアウト時間はいくつですか。また延長できますか。

A. 30分間です。この制限は延長できません。
APIリクエストを多数実行する場合や、大規模なデータエクステンションを操作する場合はタイムアウトに到達しやすくなります。処理の分割や後述の通り外部システムでの処理も検討してください。

 

補足1:外部システムを利用した処理の検討について

SSJSは処理のカスタマイズ性が高い反面、タイムアウトなどの制限やエラーログの不足などの制約があり、実装・運用難易度が高い傾向があります。高度・複雑な処理や大規模データ処理が必要な場合は、Marketing Cloud Engagement内で完結させようとせず、外部システムを介したアーキテクチャの採用もあわせて検討してください。

具体的には以下のような方式が挙げられます:
・外部システムからMarketing Cloud EngagementのAPIを利用してデータを操作・取得する方式(外部側でのポーリング方式を含む)
・データ抽出アクティビティでエクスポートしたファイルを外部システム側で処理する方式

また、Web APIを利用するスクリプトではクライアントシークレットなどの機密情報を、Marketing Cloud Engagement上に格納する必要があります。このクライアントシークレットなどのローテーション運用が必要な場合、その管理はすべて独自に維持しなければなりません。そのため、すでに必要な機能を持つ外部システム側で処理を構築した方が、将来的なメンテナンスを含めて運用が容易になるケースがあります。

補足2:お問い合わせ時の切り分けへのご協力のお願い

開発中のSSJSでエラーが解決できない場合、Premier または Signature Success Plan をご契約のお客様は実装中のソリューションに対する調査・トラブルシューティング支援を受けることができます(執筆段階では目安として1ケースあたり最大200行または Signature で 5,000行までの上限があります)。

ただし、SSJSのエラーは実行されるソースコードのみで問題箇所を特定することが難しいため、切り分けへのご協力をお願いすることがあります。あらかじめご了承ください。

参考)

https://help.salesforce.com/s/articleView?id=000382591&type=1

 

ナレッジ記事番号

005386658

 
読み込み中
Salesforce Help | Article