Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

Salesforce データがジャーニーに挿入されない場合にデバッグログを解析する

公開日: Dec 9, 2022
説明

Salesforceデータがジャーニーに挿入されない場合、デバッグログを解析して問題を特定します。ログ設定とテストレコードの作成が必要です。

解決策

デバッグログを解析する前に、デバッグログを設定し、テストレコードを作成または更新して (基準を満たしていない状態から) 基準を満たすようにする必要があります。ログの設定方法がわからない場合は、次のステップに従います。
 

1.[デバッグログ] を有効にします。

Sales/Service Cloud にログインして、次の手順を実行します。

  • [設定] を選択します。
  • [クイック検索] で、[デバッグログ] を検索します。 
  • [デバッグログ] を選択します。
  • [ユーザ追跡フラグ] の横にある [新規] をクリックします。
  • [追跡対象エンティティ種別] = [ユーザー] に設定します。
  • [追跡対象エンティティ名] を、レコードを作成/更新するユーザーに設定します。
  • [開始日] と [有効期限] は、30 分以内にレコードを作成/更新できるのであれば、どのような設定でも問題ありません。
  • [新しいデバッグレベル] をクリックします。
  • 名前をつけます。名前にスペースが含まれていないことを確認してください。
  • [ワークフロー] = [より詳細] に設定します。
  • [コールアウト] = [最も詳細] に設定します。
  • [保存] をクリックします。

新しいデバッグレベルが [デバッグレベル] 項目に表示されていることを確認し、[保存] をクリックします。

2.レコードを作成/更新します。

オブジェクトのアクション ([作成済み] および/または [更新済み]) に基づき、[ユーザ追跡フラグ] で選択されたユーザーを使用して、ジャーニーのエントリ条件を満たすようにレコードを作成/更新します。

3.日付/時間を記録します。

レコードが作成または更新された日付/時間 (可能であれば秒単位まで) とタイムゾーン、さらにレコードの ID をメモします。


Salesforce Org のデバッグログにアクセスします。

  1. Salesforce Org にログインします。
  2. [設定] をクリックします。
  3. [クイック検索] ボックスに「デバッグログ」と入力し、[デバッグログ] をクリックします。
  4. デバッグログが、[ユーザ追跡フラグ] の下に表示されます。



ユーザ追跡フラグは、ユーザーの操作に応じていくつかのログを生成するため、必要なファイルを見つけるのが難しい場合があります。レコードが作成または更新されたときのタイムスタンプがあれば、レコードを絞り込むのに役立ちます。レコードの作成方法によっては、操作で絞り込むこともできます。一般的なシナリオを以下にいくつか示します。
 

  • Classic の UI を使用して手動で作成されたレコードには通常、/(オブジェクトプレフィックス)/e の操作が含まれます (例: 連絡先の /003/e)。
  • Classic の UI を使用して手動で更新されたレコードには通常、/(objectid)/e の操作が含まれます (例: /00Q3600000pPMUAEA4/e)。
  • Lightning の UI を使用して手動で作成または更新されたレコードには通常、/aura の操作が含まれます。


上記は一般論であり、レコードの作成または更新に影響する異なるプロセスが存在する場合は、別の操作の下にある場合もあります。

[表示] リンクを使用して新しいタブでログを開きます。JBSystemFlow_(オブジェクト名) (例: JBSystemFlow_Contact) を検索します。結果が表示されたら、new_object を含む後続の行を確認して、挿入されるべきレコードと Id が一致しているかどうかを調べます。一致していれば正しいログです。

挿入を含むデバッグログの例:
 

16:10:45.227 (10435740855)|FLOW_START_INTERVIEW_BEGIN|182862a181293703ebb335d7e272162d5c1e3f0-6750|JBSystemFlow_Lead
16:10:45.227 (10436387607)|FLOW_VALUE_ASSIGNMENT|182862a181293703ebb335d7e272162d5c1e3f0-6750|new_object|{Id=00Q3600000pPMUAEA4, IsDeleted=false, MasterRecordId=null, Salutation=null, FirstName=Linton, LastName=Jolly...
16:10:45.227 (10436436053)|FLOW_VALUE_ASSIGNMENT|182862a181293703ebb335d7e272162d5c1e3f0-6750|old_object|
16:10:45.227 (10436533318)|FLOW_ELEMENT_BEGIN|182862a181293703ebb335d7e272162d5c1e3f0-6750|FlowDecision|JB_Decision_Null_Check_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a
16:10:45.227 (10436643559)|FLOW_RULE_DETAIL|182862a181293703ebb335d7e272162d5c1e3f0-6750|JB_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_Parameters_Null|true
16:10:45.227 (10436665742)|FLOW_VALUE_ASSIGNMENT|182862a181293703ebb335d7e272162d5c1e3f0-6750|JB_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_Parameters_Null|true
16:10:45.227 (10436683102)|FLOW_ELEMENT_END|182862a181293703ebb335d7e272162d5c1e3f0-6750|FlowDecision|JB_Decision_Null_Check_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a
16:10:45.227 (10436714155)|FLOW_ELEMENT_BEGIN|182862a181293703ebb335d7e272162d5c1e3f0-6750|FlowDecision|JB_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_Decision
16:10:45.227 (10437025821)|FLOW_RULE_DETAIL|182862a181293703ebb335d7e272162d5c1e3f0-6750|SalesforceObj2d95094362a61233d7e7d05c70c5bd3a|true
16:10:45.227 (10437040173)|FLOW_VALUE_ASSIGNMENT|182862a181293703ebb335d7e272162d5c1e3f0-6750|SalesforceObj2d95094362a61233d7e7d05c70c5bd3a|true
16:10:45.227 (10437051183)|FLOW_ELEMENT_END|182862a181293703ebb335d7e272162d5c1e3f0-6750|FlowDecision|JB_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_Decision
16:10:45.227 (10437069054)|FLOW_ELEMENT_BEGIN|182862a181293703ebb335d7e272162d5c1e3f0-6750|FlowActionCall|SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_FireJBTrigger
16:10:45.227 (10437082949)|FLOW_ELEMENT_DEFERRED|FlowActionCall|SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_FireJBTrigger
16:10:45.227 (10437092411)|FLOW_ELEMENT_END|182862a181293703ebb335d7e272162d5c1e3f0-6750|FlowActionCall|SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_FireJBTrigger
16:10:45.227 (10437103366)|FLOW_START_INTERVIEW_END|182862a181293703ebb335d7e272162d5c1e3f0-6750|JBSystemFlow_Lead
16:10:45.227 (10437125704)|FLOW_BULK_ELEMENT_BEGIN|FlowActionCall|SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_FireJBTrigger
16:10:45.515 (10515320435)|DML_BEGIN|[10]|Op:Insert|Type:et4ae5__JB_Event__e|Rows:1
16:10:45.515 (10594780271)|DML_END|[10]
16:10:45.227 (10596695006)|FLOW_ACTIONCALL_DETAIL|182762a181293703ebb335d7e272162d5c1e3f0-674f|myRule_1_A1|Flows|JBSystemFlow_Lead|true|
16:10:45.227 (10596717837)|FLOW_VALUE_ASSIGNMENT|182762a181293703ebb335d7e272162d5c1e3f0-674f|myRule_1_A1|true
16:10:45.227 (10596731366)|FLOW_BULK_ELEMENT_END|FlowActionCall|myRule_1_A1|0|346



正しいデバッグログが見つかったら、JBSystemFlow_(挿入されるオブジェクトの名前) を探します。この例では、JBSystemFlow_Lead です。FLOW_START_INTERVIEW_BEGIN で始まり、JBSystemFlow_(オブジェクト) を含む行を見つけます。この行と FLOW_START_INTERVIEW_END...JBSystemFlow_(オブジェクト) の間の行は、新しいオブジェクトおよび古いオブジェクトの項目のすべてのデータ (古いオブジェクトにはレコードが更新された場合にのみデータが存在します)、関連するフローでレコードが通過したすべての決定、各結果の判定を含んでいます。以下に詳細を説明します。フローが正常に進行していれば、FLOW_START_INTERVIEW_END...JBSystemFlow(オブジェクト) 行の下に、FLOW_BULK_ELEMENT_BEGIN...FireJBTrigger の行があります。この行があり、その直下にいくつかのエラーがない場合 (プラットフォームイベントのセクションを参照)、Salesforce は APEX ジョブを実行してエントリイベントを起動しています。この時点で、Marketing Cloud Connect のログを確認して、呼び出しの完了に問題があったか調べます。Marketing Cloud Connect のログの解析方法はこちらを参照してください。

ファイアイベントが発生しなかったデバッグログを見てみます。
 

16:23:37.142 (150821372)|FLOW_START_INTERVIEW_BEGIN|8557980ff96eae468bac8498796162d5d1cd65-6ef6|JBSystemFlow_Lead
16:23:37.142 (151372948)|FLOW_VALUE_ASSIGNMENT|8557980ff96eae468bac8498796162d5d1cd65-6ef6|new_object|{Id=00Q3600000pPMW0EAO, IsDeleted=false, MasterRecordId=null, Salutation=null, FirstName=Linton, LastName=Brown...
16:23:37.142 (151412658)|FLOW_VALUE_ASSIGNMENT|8557980ff96eae468bac8498796162d5d1cd65-6ef6|old_object|
16:23:37.142 (151464421)|FLOW_ELEMENT_BEGIN|8557980ff96eae468bac8498796162d5d1cd65-6ef6|FlowDecision|JB_Decision_Null_Check_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a
16:23:37.142 (151537430)|FLOW_RULE_DETAIL|8557980ff96eae468bac8498796162d5d1cd65-6ef6|JB_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_Parameters_Null|true
16:23:37.142 (151550943)|FLOW_VALUE_ASSIGNMENT|8557980ff96eae468bac8498796162d5d1cd65-6ef6|JB_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_Parameters_Null|true
16:23:37.142 (151561631)|FLOW_ELEMENT_END|8557980ff96eae468bac8498796162d5d1cd65-6ef6|FlowDecision|JB_Decision_Null_Check_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a
16:23:37.142 (151572909)|FLOW_ELEMENT_BEGIN|8557980ff96eae468bac8498796162d5d1cd65-6ef6|FlowDecision|JB_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_Decision
16:23:37.142 (151749528)|FLOW_RULE_DETAIL|8557980ff96eae468bac8498796162d5d1cd65-6ef6|SalesforceObj2d95094362a61233d7e7d05c70c5bd3a|false
16:23:37.142 (151762490)|FLOW_VALUE_ASSIGNMENT|8557980ff96eae468bac8498796162d5d1cd65-6ef6|SalesforceObj2d95094362a61233d7e7d05c70c5bd3a|false
16:23:37.142 (151771387)|FLOW_ELEMENT_END|8557980ff96eae468bac8498796162d5d1cd65-6ef6|FlowDecision|JB_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_Decision
16:23:37.142 (151839236)|FLOW_START_INTERVIEW_END|8557980ff96eae468bac8498796162d5d1cd65-6ef6|JBSystemFlow_Lead


ここでも、FLOW_START_INTERVIEW_BEGIN...JBSystemFlow_(Object) の行から開始します。この行の下に FLOW_VALUE_ASSIGNMENT 行が 2 行あり、1 つは new_object 用、もう 1 つは old_object 用です。レコードの作成時はいつでも、new_object にのみデータがあります。更新を行うと、new_object は更新されたデータを保持し、old_object は更新前のレコードのデータを保持します。レコードが通過できなかったという決定がフローに見つかれば、結果のロジックと行のデータを調べて、データのどこが間違っていたかを確認できます。

各 FLOW_ELEMENT_BEGIN および FLOW_ELEMENT_END とそれらの間にある行には、フロー内の特定の決定、その結果、および結果の判定についての情報が表示されます。注意: これらの決定を表示するには、フローの読み取りアクセス権が必要です。

ジャーニーに関連するフローを特定するステップ

  1. Salesforce Org にログインします。
  2. [設定] をクリックします。
  3. [クイック検索] ボックスで「フロー」を検索し、[フロー] をクリックします。
  4. デバッグログのフローの名前 (JBSystemFlow_Lead など) の横の [開く] をクリックします。


ページが読み込まれたら、さまざまなノードをドラッグして表示し、決定とジョブのフローを確認できます。矢印はフローの方向を表わします。ノードをクリックすると、右上に緑色のアイコンが表示されます。ただし、すべてのノードをドラッグして表示し、キャンバスの任意の場所をクリックした場合は、一番上位のノードの右上に緑色のアイコンが表示されます。フローはこのノードから開始されます。矢印はさまざまな結果が進む方向を示し、矢印に表示される文字は結果の名前を表わしています。ノードにカーソルを合わせると、ノードのフルネームが表示されます。ノードをダブルクリックすると、ノードのプロパティが表示されます。デバッグログの最初の FLOW_ELEMENT_BEGIN に戻り、フローの最初の決定と比較してみましょう。
 

16:23:37.142 (151464421)|FLOW_ELEMENT_BEGIN|8557980ff96eae468bac8498796162d5d1cd65-6ef6|FlowDecision|JB_Decision_Null_Check_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a
16:23:37.142 (151537430)|FLOW_RULE_DETAIL|8557980ff96eae468bac8498796162d5d1cd65-6ef6|JB_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_Parameters_Null|true
16:23:37.142 (151550943)|FLOW_VALUE_ASSIGNMENT|8557980ff96eae468bac8498796162d5d1cd65-6ef6|JB_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_Parameters_Null|true
16:23:37.142 (151561631)|FLOW_ELEMENT_END|8557980ff96eae468bac8498796162d5d1cd65-6ef6|FlowDecision|JB_Decision_Null_Check_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a

決定のプロパティ:

名前: JB_Decision_Null_Check_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a
名前 (結果): JB_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_Parameters_Null
条件: (old_object が null) = True

決定に含まれる名前と FLOW_ELEMENT_BEGIN の末尾の名前が一致していることがわかります。2 行目の FLOW_RULE_DETAIL には、結果の名前と結果の判定が表示されます。結果の詳細は、[決定] プロパティの下半分に表示されます。FLOW_VALUE_ASSIGNMENT は、値の割り当てを確認します。決定の左側にある [編集可能な結果] の下をクリックすると、各結果のロジックを確認できます。今回の例では、JB_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_Parameters_Null です。

ロジックには、論理演算子 (AND、OR、! [NOT] など) が表示されます。複数行ある場合は論理演算子の組み合わせが表示されます。この例では、FLOW_VALUE_ASSIGNMENT 行が示すように、old_object は null であるため、この結果は基準を満たします。これはレコードが作成されたばかりかどうかを確認しているので、作成されたばかりの場合は、レコードはこの経路を進みます。デバッグログの行に true があることからも、レコードが基準を満たしていることがわかります。つまりレコードは、この結果の矢印に従って次の決定に移動します。この例では、一番上の決定の右にある決定に移動することがわかります。

以下は、今回のデバッグログの後続の FLOW_ELEMENT_BEGIN です。
 

16:23:37.142 (151572909)|FLOW_ELEMENT_BEGIN|8557980ff96eae468bac8498796162d5d1cd65-6ef6|FlowDecision|JB_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_Decision
16:23:37.142 (151749528)|FLOW_RULE_DETAIL|8557980ff96eae468bac8498796162d5d1cd65-6ef6|SalesforceObj2d95094362a61233d7e7d05c70c5bd3a|false
16:23:37.142 (151762490)|FLOW_VALUE_ASSIGNMENT|8557980ff96eae468bac8498796162d5d1cd65-6ef6|SalesforceObj2d95094362a61233d7e7d05c70c5bd3a|false
16:23:37.142 (151771387)|FLOW_ELEMENT_END|8557980ff96eae468bac8498796162d5d1cd65-6ef6|FlowDecision|JB_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_Decision


決定のプロパティ:

名前: JB_SalesforceObj2d95094362a61233d7e7d05c70c5bd3a_Decision
名前 (結果): SalesforceObj2d95094362a61233d7e7d05c70c5bd3a
条件: (new_object が Jolly)

FLOW_ELEMENT_BEGIN の名前が決定の名前と一致していることがわかります。この決定は new_object の LastName が Jolly に等しいかどうかを確認します。デバッグログで new_object の FLOW_VALUE_ASSIGNMENT を調べて、LastName の値を確認できます (LastName=Brown)。この結果は false です。それ以上評価すべき結果がないため、フローはリードを挿入することなく停止します。この場合、挿入するレコード用に [姓] が「Jolly」のリードを作成する必要があります。

注意: 有効なジャーニーが少なくとも 1 つあるオブジェクト 1 つにつき 1 つのフローが存在します。つまり、そのオブジェクトで複数のジャーニーが有効になっている場合、1 つのフローで複数のジャーニーが参照される可能性があります。したがって、[リード] をオブジェクトとして使用する 2 つの異なるジャーニーがある場合、別々の基準に対して決定があることになります。レコードが現在確認しているジャーニーの基準を満たしていない場合でも、他のジャーニーの基準を満たしているかどうかを確認するために、レコードはそのままフローを進みます。
 

ナレッジ記事番号

000382222

 
読み込み中
Salesforce Help | Article