メインコンテンツへスキップ
サブスクライバーがサブスクライブしたページトピックやURLパスなどのコンテキストデータでWebプッシュサブスクライバーにタグ付けし、ターゲットを絞ったフォローアップキャンペーンを提供します。このチュートリアルでは、オプトインの検出、タグの適用、セグメントの構築、メッセージの自動化について説明します。 前提条件:

セットアップ

1. ページ固有のメタデータでユーザーにタグ付けする

ユーザーがプッシュ通知にサブスクライブしたとき、PushSubscription.addEventListener リスナーを使用してオプトインを検出し、閲覧していたページに関するコンテキストデータを含むタグを適用します。
function pushSubscriptionChangeListener(event) {
  if (event.current.optedIn && !event.previous.optedIn) {
    // User just opted in — tag with subscription context
    var pathSegment = window.location.pathname.split('/')[1] || 'home';
    var pageTopic = document.querySelector('meta[name="article-topic"]')?.content || 'general';

    OneSignal.User.addTags({
      subscription_page: pathSegment,
      subscription_page_topic: pageTopic,
    });
  }
}

OneSignalDeferred.push(function(OneSignal) {
  OneSignal.User.PushSubscription.addEventListener("change", pushSubscriptionChangeListener);
});
仕組み:
  • change イベントは、ユーザーのプッシュサブスクリプション状態が変化したとき(オプトイン、オプトアウト、トークンの更新)に発生します。
  • ユーザーがアクティブなサブスクリプションを持つ場合、event.current.optedIntrue です。!event.previous.optedIn を確認することで、タグが最初のオプトイン時にのみ適用され、状態変化のたびに適用されないことが保証されます。
  • window.location.pathname.split('/')[1] は、サブスクリプションコンテキストとしてパスの最初のセグメントをキャプチャします。たとえば、URLが https://example.com/gaming/article-123 の場合、subscription_page タグは gaming に設定されます。
  • pageTopic<meta> タグから抽出され、'general' にフォールバックします。サイトのメタデータ構造に合わせて調整してください。

2. タグでユーザーをセグメント化する

タグが適用されたら、セグメントまたは API フィルターを使用して、それらのタグに基づいてユーザーをターゲットにします。 例:
  • subscription_pagegaming のユーザーにキャンペーンを送信
  • タグ値とタイミング(例:最初のセッションからの経過時間)に基づいて動的セグメントを作成

3. フォローアップメッセージングを自動化する

ユーザーがいつサブスクライブし、どのコンテンツでサブスクライブしたかに基づいてメッセージをトリガーするドリップスタイルのキャンペーンを構築します。 :ゲームサブスクライバー向けのドリップキャンペーン
セグメント名フィルター説明
Gaming 1subscription_page = gaming AND First Session > 2h AND < 24hサブスクリプション後2〜24時間でリーチアウト
Gaming 2subscription_page = gaming AND First Session > 24h AND < 48h1日後にフォローアップ
Gaming 3subscription_page = gaming AND First Session > 72h AND < 96h3日後に最終チェックイン
メッセージングウィンドウが過ぎた後、ユーザーがセグメントに留まるのを防ぐために、上限時間制限(<)を使用してください。

4. セグメントをメッセージテンプレートと組み合わせる

セグメントが作成されたら:
  • キャンペーンの各段階(例:イントロ、リマインダー、プロモーション)用のテンプレートを構築します。
  • ユーザーが適切なセグメントに入ったときに、Journeysを使用してこれらのメッセージを送信します。
メッセージアイデアの例:
  • ゲームコミュニティまたはソーシャルグループへの招待
  • トピックに関連するトレンド記事の推薦
  • 独占オファーまたは割引コードの送信

ベストプラクティス

  • 実際のユーザーの意図を反映する意味のあるタグ名と値を使用する。
  • 可能な限りページメタデータからタグ値を動的に抽出する。
  • 最初のオプトイン時にのみタグ付けする——上記のリスナー例では、状態変化のたびに再タグ付けされないよう !event.previous.optedIn を確認しています。
タグ値に名前やメールアドレスなどの個人識別情報(PII)を含めないでください。サイト全体でタグ値をハードコーディングすることは避け、ページコンテキストから動的に抽出してください。

よくある質問

ユーザーがブラウザデータをクリアした場合、タグは持続しますか?

いいえ。ブラウザデータをクリアすると新しいサブスクリプションが作成されます。ユーザーが再サブスクライブした場合(手動または自動再サブスクライブ経由)、change リスナーが再び発生し、現在のページに基づいてタグが再適用されます。

最初のサブスクリプション後にタグを更新できますか?

はい。OneSignal.User.addTags() はいつでも呼び出してタグを追加または更新できます。サブスクリプションリスナーは初期コンテキストに役立ちますが、継続的な行動に基づいてユーザーにタグ付けすることもできます。

関連ページ

タグ

イベントまたはプロパティに基づいてユーザーにカスタムキーと値のペアを設定します。

Web SDK リファレンス

サブスクリプションリスナーとタグ付けメソッドを含む OneSignal Web SDK の完全リファレンス。

セグメント

ターゲットメッセージングのためにプロパティ、タグ、行動でユーザーをグループ化します。

Journeys

セグメント進入またはカスタムイベントによってトリガーされるマルチステップメッセージワークフローを構築します。