1. イベント

カスタム目標モデルの作成

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

このトピックでは、Goalを継承するカスタム目標NewsletterSignupを作成する方法を説明し、以下の要件を前提としています。

  • NewsletterSignup目標は単一の目標定義項目と共に使用されます
  • NewsletterSignup目標にはオプションの CampaignId プロパティがあります

目標定義項目を作成する

  1. Sitecoreコンテンツエディターを開きます。
  2. /sitecore/system/マーケティングコントロールパネル/目標にアクセスしてください。
  3. 目標項目を右クリックして「目標挿入」を選択し>。
  4. プロンプトがあればアイテム名を入力してください。例えば「ニュースレター登録」などです。
  5. 新しく作成した定義を選択し、「 レビュー 」タブをクリックし、「 **デプロイ」**を選択します。これにより定義がウェブデータベースに公開され、リファレンスデータサービスデータベースに展開されます。

カスタム目標モデルの作成

Goalクラスを継承する新しいクラスを作成NewsletterSignup。このクラスは固定された定義IDを持ち、他の定義IDでインスタンス化することはできません。このクラスには「CampaignId」というオプションプロパティがあり、キャンペーンの一環としてニュースレターに登録した場合に設定できます。

using Sitecore.XConnect; using System;

namespace Documentation { public class NewsletterSignup : Goal { public static Guid NewsletterSignupEventDefinitionId { get; } = new Guid("3a7e9e7e-a2ac-4ac2-8f8e-26a9c8644b23"); public Guid CampaignId { get; set; }

public NewsletterSignup(DateTime timestamp) : base(NewsletterSignupEventDefinitionId, timestamp) { } } }

モデル内でカスタム目標を定義します

.DefineEventTypeメソッドを使ってコレクションモデルで新しい目標を定義します。以下の例では、目標モデルがSampleModelというモデルに追加されています。Sitecoreコンテキストでモデルを使用する場合、モデルクラスはクライアント設定ファイルに登録されている必要があります。

using Sitecore.XConnect; using Sitecore.XConnect.Schema;

namespace Documentation { public class SampleModel { public static XdbModel Model { get; } = SampleModel.BuildModel();

private static XdbModel BuildModel() { XdbModelBuilder modelBuilder = new XdbModelBuilder("SampleModel", new XdbModelVersion(0, 1));

modelBuilder.ReferenceModel(Sitecore.XConnect.Collection.Model.CollectionModel.Model); modelBuilder.DefineEventType(false);

return modelBuilder.BuildModel(); } } }

!警告目標モデルを登録しなければ、使用できません。「このインスタンスの型はスキーマ内のどの型とも対応しません」といったエラーが発生します。

カスタム目標モデルを活用してください

xConnect Client APIを使って 、あなたの目標をインタラクションに追加してください。以下の例は、カスタム目標のインスタンス化方法を示しています:

var newsletterGoal = new NewsletterSignup(DateTime.UtcNow);

var campaign = Guid.Parse("e7f411bc-09e6-4872-8961-1cf078e317e9"); // Sample campaign ID newsletterGoal.CampaignId = campaign;

トラッカーでカスタム目標モデルを使え

トラッカー内でカスタム目標モデルを使用するには、イベント変換パイプラインプロセッサを作成する必要があります。詳細は 「カスタムイベントのトリガー」をご覧ください。

この記事を改善するための提案がある場合は、 お知らせください!