目次

Amazon Pinpoint 完全ガイド v2.0

Tier 2 顧客エンゲージメント・キャンペーン管理プラットフォーム


ドキュメントの目的

本ガイドは以下を対象としています。

  • 初心者向け: Amazon Pinpoint とは何か、顧客エンゲージメント・キャンペーン管理の基本を学びたい方
  • マーケティング・開発者向け: Segment・Campaign・Journey を API / Console で実装したい方
  • SRE・運用向け: Endpoint 管理、Analytics、Integration を設計・運用したい方
  • 意思決定者向け: Braze・Iterable・OneSignal・Twilio Engage との比較・投資判断

2025-2026 年の Amazon Pinpoint 最新動向 - 重要なお知らせ

2026年10月30日に Amazon Pinpoint のサポートが終了します。 これは Pinpoint の廃止決定に伴うもので、以下のリソースにアクセスできなくなります:

  • Pinpoint Console
  • Endpoint、Segment、Campaign、Journey、Analytics リソース

ただし、以下の API は引き続きサポートされます:

  • SMS / Voice / Mobile Push / OTP / Phone Number Validate
  • これらは AWS End User Messaging に移行

推奨マイグレーションパス:

  • SMS / Voice / Push → AWS End User Messaging(API ベース)
  • Campaign / Journey → Amazon Connect(エンゲージメント自動化)
  • Email → Amazon SES / Mail Manager(Email チャネル)

詳細は Amazon Pinpoint end of support を参照。


目次

  1. 本質・定義
  2. Pinpoint が解決する課題
  3. 主な特徴
  4. アーキテクチャ
  5. コアコンポーネント
  6. 主要ユースケース(10+)
  7. 設定・操作の具体例
  8. 類似サービス比較表
  9. ベストプラクティス
  10. トラブルシューティング
  11. 2025-2026 最新動向
  12. 学習リソース・参考文献
  13. 実装例・チェックリスト
  14. まとめ

本質・定義

Amazon Pinpoint は AWS のマルチチャネル顧客エンゲージメント・プラットフォーム。以下を提供します:

  • Segment: ユーザー属性・行動に基づく動的セグメント定義
  • Campaign: スケジュール型・定期的なメッセージング配信
  • Journey: マルチステップ・カスタマーワークフロー自動化
  • Analytics: メッセージ送受信・ユーザー行動分析
  • Messaging Channels: SMS・Voice・Push・Email・In-App・Custom Channels

ただし 2026年10月30日にサービス廃止予定 のため、新規構築は推奨されません。


Pinpoint が解決する課題

1. 顧客セグメンテーション

複数のデータソースから動的にユーザーセグメントを定義し、ターゲットメッセージングを実現。

2. キャンペーン実行の複雑さ

複数チャネル(SMS・Email・Push)にわたる一括キャンペーン実行。

3. カスタマージャーニー

時間軸・条件分岐・行動トリガーに基づく自動化されたマルチステップシーケンス。

4. エンゲージメント分析

メッセージ配信・開封・クリック・コンバージョンの追跡・分析。

5. マルチチャネル統一

複数メッセージングチャネルの一元管理と統合分析。


主な特徴

機能 説明
Dynamic Segments ユーザー属性・アプリ行動に基づく自動セグメント更新
Campaign Builder UI・API でキャンペーン設計・スケジュール
Journey Designer ビジュアルキャンバスでマルチステップワークフロー構築
Multi-Channel SMS・Voice・Email・Push・In-App・Custom を統合
A/B Testing キャンペーンの複数バリエーション試験
Personalization 属性・ML モデル出力による動的コンテンツ
Real-time Analytics メッセージ送受信・ユーザー行動リアルタイム監視
Template Management 再利用可能メッセージテンプレート
Integration API・SDK・Lambda・Kinesis・S3 連携
Mobile & Web SDK アプリケーションへの組込実装

アーキテクチャ

graph TB
    A["Customer Data<br/>(Attributes, Events, Behaviors)"] -->|Ingestion| B["Pinpoint Project<br/>(Application)"]
    B -->|Defines| C["Segment<br/>(Dynamic/Static)"]
    C -->|Target| D["Campaign/<br/>Journey"]
    D -->|Send via| E["Channels"]
    E -->|SMS| F["SMS Service"]
    E -->|Voice| G["Voice Service"]
    E -->|Push| H["FCM/APNs"]
    E -->|Email| I["SES"]
    E -->|In-App| J["Mobile SDK"]
    E -->|Custom| K["Webhook"]
    F -->|Deliver| L["End User Device"]
    G -->|Deliver| L
    H -->|Deliver| L
    I -->|Deliver| L
    J -->|Display| L
    K -->|Trigger| L
    L -->|Events| M["Analytics<br/>(Sent, Delivered, Opened, Clicked, etc.)"]
    M -->|Dashboard| N["Pinpoint Console"]
    M -->|Stream| O["Kinesis Data Firehose"]
    O -->|Archive| P["S3"]

コンポーネント図

graph LR
    A["Applications<br/>(Mobile/Web)"] -->|SDK| B["Pinpoint SDK<br/>(Event Tracking)"]
    B -->|Report Events| C["Pinpoint Service"]
    C -->|Store| D["Endpoint DB<br/>(User Profile + Attributes)"]
    D -->|Query| E["Segment Engine"]
    E -->|Create| F["Dynamic Segments"]
    G["Campaign Manager"] -->|Use| F
    H["Journey Designer"] -->|Use| F
    G -->|Configure| I["Message Content<br/>(Template + Variables)"]
    H -->|Configure| I
    I -->|Render| J["Personalized Messages"]
    J -->|Send| K["Delivery Service"]
    K -->|Route| L["SMS Gateway"]
    K -->|Route| M["Email (SES)"]
    K -->|Route| N["Push (FCM/APNs)"]
    K -->|Route| O["Voice (Pinpoint Voice)"]
    L -->|Deliver| P["End Users"]
    M -->|Deliver| P
    N -->|Deliver| P
    O -->|Deliver| P
    P -->|Report Events| Q["Analytics Engine"]
    Q -->|Display| R["Pinpoint Dashboard"]

コアコンポーネント

1. Endpoint(エンドポイント)

ユーザーのデバイス・連絡先情報。以下を含む:

  • Device ID / Email Address / Phone Number - 送信先の識別子
  • Attributes - ユーザー属性(User ID, Segment, Preferences)
  • Channel - SMS, Email, Push, Voice, Custom
  • Opt-in Status - オプトイン/アウト状態
  • Last Touch Time - 最後のインタラクション時刻

2. Segment(セグメント)

ユーザーを定義・グループ化する論理的なまとめ。

Dynamic Segment: リアルタイムで更新される条件ベースセグメント

例:
- "最近30日でアプリを開いたユーザー AND デバイスが iOS"
- "購入金額 > $100 AND 最後のログイン < 7日前"
- "Country = JP AND App Version >= 2.0"

Import Segment: CSV/S3 から静的セグメントをインポート

3. Campaign(キャンペーン)

スケジュール型・一括メッセージング実行。

Campaign Types:

  • Standard Campaign - セグメント全体への一括送信
  • A/B Test Campaign - 複数メッセージバリエーション試験
  • Multivariate Campaign - 複数要因の組み合わせ試験

Key Settings:

  • Segment Target
  • Message Template
  • Schedule (Start/Frequency)
  • Channels (SMS, Email, Push, Voice)
  • Metrics & Reporting

4. Journey(ジャーニー)

マルチステップ・自動化されたカスタマーワークフロー。

Example Journey Flow:

[Entry] User matches segment "New Customer"
  ↓
[Send Email] Welcome email
  ↓
[Wait] 3 days
  ↓
[Split] Did user click email?
  ├─ YES → [Send SMS] "Thank you" follow-up
  └─ NO → [Send Push] "Check out our products"
  ↓
[Wait] 7 days
  ↓
[Send Email] Promotional offer
  ↓
[Exit]

Journey Features:

  • Multi-channel messaging
  • Time-based waits
  • Conditional splits
  • Event-driven triggers
  • Participant state tracking

5. Message Template(メッセージテンプレート)

再利用可能なメッセージコンテンツ。

Template Types:

  • Email Template
  • SMS Template
  • Push Notification Template
  • In-App Message Template
  • Voice Message Template

Template Features:

  • Personalization variables: {{FirstName}}, {{DiscountCode}}
  • HTML/Plain text for Email
  • Default fallback content
  • Versioning & approval workflow

6. Analytics & Reporting

メッセージ送受信・ユーザー行動の追跡。

Metrics:

  • Delivery: Sent, Delivered, Failed, Bounced
  • Engagement: Opened, Clicked, Converted
  • User Metrics: Sessions, Events, Revenue

Data Export:

  • CloudWatch Metrics
  • Kinesis Data Firehose (S3 archival)
  • Custom Events API

主要ユースケース(10+)

1. ウェルカムシーケンス

新規ユーザーに対する自動化された複数メッセージ

  • Day 0: SMS - Welcome + Account Activation Link
  • Day 1: Email - Getting Started Guide
  • Day 3: Push - Feature Highlight
  • Day 7: Email - Special First-Purchase Offer

2. 放棄されたカート復活

購入未完了ユーザーへの自動リマインダー

[Trigger] Order abandoned
  ↓
[Wait] 2 hours
  ↓
[Send Email] "You left something behind..."
  ↓
[Wait] 24 hours
  ↓
[Split] Did user complete purchase?
  ├─ YES → Exit
  └─ NO → [Send SMS] "10% discount expires in 24h"

3. 購読・会員更新リマインダー

サブスクリプション更新の事前通知

[Journey] Days until renewal < 7
  ↓
[Send Email] Renewal reminder + Easy renewal link
  ↓
[Wait] 3 days
  ↓
[Send SMS] "Your subscription expires in 4 days"

4. リエンゲージメント・カムバック施策

非アクティブユーザーの再アクティベーション

[Segment] Last login > 90 days ago
  ↓
[Send Email] "We miss you! Here's 20% off"
  ↓
[Wait] 7 days
  ↓
[Split] Did user log in?
  ├─ YES → [Send Push] Personalized content
  └─ NO → [Send SMS] "Last chance - offer expires today"

5. 位置情報ベースのプロモーション

ユーザーの物理的な場所に基づくメッセージング

  • [Trigger] User opens app near store location
  • [Send Push] “You’re near Store #42 - 15% off today”

6. ユーザーインアクションの段階的スケーレーション

段階的な再エンゲージメント階段

  • [Level 0] Email - Simple offer
  • [Level 1] (No response) SMS - More urgent offer
  • [Level 2] (No response) Push - Final reminder
  • [Level 3] (No response) Email - Survey + special gift

7. イベント駆動型通知

ユーザーアクションに対するリアルタイム応答

[Trigger] User purchased item
  ↓
[Send Email] Order confirmation + tracking
  ↓
[Wait] Item ships
  ↓
[Send Push] "Your order shipped!"
  ↓
[Wait] 3 days after delivery
  ↓
[Send Email] "Review your purchase"

8. VIP/ロイアルティ層別メッセージング

顧客価値に基づくセグメント別配信

[Segment] Lifetime Value > $10,000
  ↓
[Send Email] VIP exclusive early access to new products
[Send SMS] Personal Account Manager contact info
[Send Push] Premium benefits summary

9. A/B テスト・最適化

複数メッセージバリエーションの効果測定

Campaign: "Spring Sale"
├─ Variant A: "50% OFF Sale"
├─ Variant B: "Buy 2 Get 1 Free"
└─ Control: No message

→ Measure: Open rate, Click rate, Conversion rate
→ Determine: Which variant drives higher revenue

10. 時間帯・タイムゾーン最適化

ユーザーのローカルタイムに合わせた送信

[Segment] All users
  ↓
[Campaign] Send at 9 AM local time
  ↓
[Pinpoint] Automatically adjusts send time per timezone

11. 行動シーケンシング・チャーン予防

流出兆候ユーザーへの積極的なリテンション

[Trigger] User completes onboarding but shows low engagement
  ↓
[Send Email] "How can we help?" - Support + resources
  ↓
[Wait] 5 days
  ↓
[Send SMS] Exclusive offer + support hotline
  ↓
[Split] Did user return?
  ├─ YES → [Send Push] Welcome back + new features
  └─ NO → [Send Email] Final offer + feedback survey

12. クロスセル・アップセル

購買パターンに基づく関連商品提案

[Trigger] User purchased "Running Shoes"
  ↓
[Send Email] Personalized recommendations
  - Running socks (related)
  - Sports watch (upsell)
  ↓
[Wait] 7 days
  ↓
[Send Push] "Your recommended items are on sale"

設定・操作の具体例

AWS Console - Campaign 作成手順

1. Segment の準備

1. Pinpoint Console → Segments
2. Create → New segment
3. Segment name: "Active iOS Users"
4. Conditions:
   - Device Type = iOS
   - App Version >= 3.0
   - Last touched time >= 7 days ago
5. Estimate: 42,500 users
6. Create segment

2. Message Template 作成

1. Pinpoint Console → Message Templates
2. Create Template
3. Template name: "Welcome Email"
4. Template type: Email
5. Subject: "Welcome {{FirstName}}!"
6. Body:
   <h1>Hello {{FirstName}},</h1>
   <p>Welcome to our app! Here's your {{DiscountCode}} code</p>
   <a href="https://app.example.com/download">Download Now</a>
7. Save template

3. Campaign 作成

1. Pinpoint Console → Campaigns
2. Create campaign
3. Campaign name: "Spring Sale - iOS"
4. Choose channels: Email + SMS + Push
5. Select segment: "Active iOS Users"
6. Select message template: "Welcome Email"
7. Schedule:
   - Start: 2026-04-28
   - Frequency: Send once
8. Recipient limits:
   - Max send rate: 5,000/minute
9. Review & Launch

AWS CLI - SMS Campaign

# Segment list
aws pinpoint get-segments \
  --application-id a1b2c3d4e5f6g7h8i9j0

# Segment details
aws pinpoint get-segment \
  --application-id a1b2c3d4e5f6g7h8i9j0 \
  --segment-id seg-12345

# Create campaign
aws pinpoint create-campaign \
  --application-id a1b2c3d4e5f6g7h8i9j0 \
  --campaign-request '{
    "Name": "SMS Sale",
    "Description": "Promote sale via SMS",
    "SegmentId": "seg-12345",
    "IsPaused": false,
    "MessageConfiguration": {
      "SMSMessage": {
        "Body": "Special offer: 30% off. Use code: SALE30",
        "MessageType": "PROMOTIONAL"
      }
    },
    "Schedule": {
      "StartTime": "2026-04-28T09:00:00-0700",
      "Frequency": "ONCE"
    }
  }'

# Send message
aws pinpoint send-messages \
  --application-id a1b2c3d4e5f6g7h8i9j0 \
  --message-request '{
    "Addresses": {
      "+15555551234": {
        "ChannelType": "SMS"
      }
    },
    "MessageConfiguration": {
      "SMSMessage": {
        "Body": "Hello from Pinpoint!"
      }
    }
  }'

Pinpoint SDK - Mobile Event Tracking

JavaScript/React Native

import { Amplify, Analytics } from 'aws-amplify';

Amplify.configure({
  Analytics: {
    disabled: false,
    autoSessionRecord: true,
    AWSPinpoint: {
      appId: 'a1b2c3d4e5f6g7h8i9j0',
      region: 'us-east-1',
      mandatorySignIn: false,
      resendLimit: 5,
    }
  }
});

// Record custom event
Analytics.record({
  name: 'Purchase',
  attributes: {
    product_id: 'PROD-123',
    product_name: 'Blue Shoes',
    quantity: 2,
    price: 99.99,
    currency: 'USD'
  },
  metrics: {
    revenue: 199.98
  }
});

// Track screen/page
Analytics.record({
  name: '_screen_view',
  attributes: {
    screen_name: 'ProductDetail'
  }
});

iOS (Swift + Amplify)

import Amplify
import AWSPinpoint

// Initialize
_ = Amplify.Analytics.plugin

// Record event
let properties: [String: AnalyticsPropertyValue] = [
    "product_id": "PROD-123",
    "product_name": "Blue Shoes"
]
Amplify.Analytics.record(event: "Purchase", properties: properties)

// Update user attributes
var userProfile = UserProfile()
userProfile.email = "user@example.com"
userProfile.firstName = "John"
userProfile.lastName = "Doe"
userProfile.userAttributes = ["subscription": "premium"]
Amplify.Analytics.registerUser(userProfile)

Terraform IaC - Pinpoint Project & Segment

# Pinpoint Application
resource "aws_pinpoint_app" "example" {
  name                       = "example-app"
  campaign_hook_lambda_function_arn = aws_lambda_function.campaign_hook.arn
}

# Endpoint
resource "aws_pinpoint_app_events" "example_events" {
  application_id = aws_pinpoint_app.example.application_id
  
  events = jsonencode({
    "user123" = {
      "EventType" = "login",
      "Timestamp" = "2026-04-28T10:00:00Z",
      "Attributes" = {
        "device_type" = "ios",
        "app_version" = "3.0.1"
      }
    }
  })
}

# Email Channel
resource "aws_pinpoint_email_channel" "example" {
  application_id            = aws_pinpoint_app.example.application_id
  enabled                   = true
  from_address              = "noreply@example.com"
  identity_arn              = aws_ses_domain_identity.example.arn
  role_arn                  = aws_iam_role.pinpoint_email.arn
  configuration_set         = aws_pinpoint_event_stream.example.application_id
}

# SMS Channel
resource "aws_pinpoint_sms_channel" "example" {
  application_id                     = aws_pinpoint_app.example.application_id
  enabled                            = true
  sender_id                          = "CompanyName"
  short_code                         = "123456"  # Optional
  
  # Default message type
  default_message_type               = "TRANSACTIONAL"
  
  # Promotion message settings
  promotional_messages_per_second    = 100
}

# Segment
resource "aws_pinpoint_segment" "active_users" {
  application_id  = aws_pinpoint_app.example.application_id
  name            = "Active Users"
  dynamic_segment = jsonencode({
    "Include" = "ANY",
    "Dimensions" = {
      "Attributes" = {
        "last_open_date" = {
          "AttributeType" = "INCLUSIVE",
          "Values" = ["2026-04-21"]
        }
      }
    }
  })
}

# Campaign
resource "aws_pinpoint_campaign" "welcome" {
  application_id            = aws_pinpoint_app.example.application_id
  name                      = "Welcome Campaign"
  segment_id                = aws_pinpoint_segment.active_users.segment_id
  is_paused                 = false
  
  message_configuration {
    email_message {
      title             = "Welcome!"
      body              = "Welcome to our platform"
      charset           = "UTF-8"
    }
    sms_message {
      body = "Welcome!"
      message_type = "PROMOTIONAL"
    }
  }
  
  schedule {
    frequency       = "ONCE"
    start_time      = "2026-04-28T09:00:00Z"
    timezone        = "America/Los_Angeles"
  }
}

AWS Lambda - Custom Campaign Hook

import json
import boto3
from datetime import datetime

pinpoint = boto3.client('pinpoint')

def lambda_handler(event, context):
    """
    Custom campaign hook to filter endpoints before sending.
    Triggered by Pinpoint before message delivery.
    """
    
    print(f"Event: {json.dumps(event)}")
    
    application_id = event['applicationId']
    campaign_id = event['campaignId']
    campaign_send_request = event['campaignSendRequest']
    
    # Get campaign details
    response = pinpoint.get_campaign(
        ApplicationId=application_id,
        CampaignId=campaign_id
    )
    
    campaign = response['Campaign']
    
    # Filter endpoints
    filtered_endpoints = {}
    
    for endpoint_id, endpoint_info in campaign_send_request['Endpoints'].items():
        endpoint_data = endpoint_info.get('EndpointRequest', {})
        attributes = endpoint_data.get('Attributes', {})
        
        # Example: Skip endpoints with OptOut = "true"
        if attributes.get('OptOut') == 'true':
            print(f"Skipping endpoint {endpoint_id} - opted out")
            continue
        
        # Example: Only send to users who engaged in last 7 days
        last_touch = attributes.get('LastTouchDate')
        if last_touch:
            try:
                last_touch_date = datetime.fromisoformat(last_touch)
                days_inactive = (datetime.now() - last_touch_date).days
                if days_inactive > 7:
                    print(f"Skipping endpoint {endpoint_id} - inactive {days_inactive} days")
                    continue
            except:
                pass
        
        # Include endpoint
        filtered_endpoints[endpoint_id] = endpoint_info
    
    print(f"Original endpoints: {len(campaign_send_request['Endpoints'])}")
    print(f"Filtered endpoints: {len(filtered_endpoints)}")
    
    return {
        'statusCode': 202,
        'body': json.dumps({
            'filteredEndpoints': filtered_endpoints,
            'reason': 'Custom filtering applied'
        })
    }

類似サービス比較表

機能 Pinpoint Braze Iterable OneSignal Twilio Engage Mailchimp
Multi-Channel SMS/Voice/Email/Push/In-App Email/SMS/Push/In-App Email/SMS/Push Push/Email/SMS SMS/Voice/Email Email/SMS
Dynamic Segments
Journey Builder 〇(廃止予定)
A/B Testing
Personalization 変数・ML 変数・ML 変数・ML 変数 変数 変数
Webhooks
API-First
AWS Native
SMS Compliance DLT/10DLC
Real-time Analytics
Price (per 1M SMS) $0.50-0.75 ~ $0.01/msg ~ $0.01/msg ~ $0.01/msg $0.0075 $300-1000/mo
Enterprise Support

ベストプラクティス

✅ 推奨事項

1. セグメント設計

  • Dynamic Segments を活用: リアルタイムで更新され、常に最新ユーザーをターゲット
  • 複合条件を活用: AND/OR で複雑な条件を組み立て、高精度なセグメント化
  • 定期的なレビュー: セグメント効果を測定し、条件を最適化

2. Journey 設計

  • Exit Conditions を明確に: ループ・無限フローを防止
  • Time-based Waits を活用: ユーザー疲れを防ぎ、最適な再エンゲージメント周期を実現
  • Event Triggers の活用: スケジュール配信より、ユーザー行動に基づく動的配信

3. メッセージング

  • Personalization 活用: テンプレート変数で受信者ごとにカスタマイズ
  • Mobile-First Design: SMS・Push は短く・簡潔に
  • A/B Testing 実施: Subject・Content・CTA をテストし、最適化

4. コンプライアンス

  • Opt-in/Opt-out 管理: 各ユーザーのコンセント状態を管理
  • GDPR・CCPA・SMS Compliance: 規制要件を遵守(DLT登録、10DLC等)
  • Preference Center: ユーザーが配信頻度・チャネルを制御できる仕組み

5. 分析・最適化

  • KPI 定義: Delivery Rate・Open Rate・Click Rate・Conversion Rate を継続監視
  • Cohort Analysis: セグメント・キャンペーン別の効果測定
  • Attribution Modeling: マルチタッチアトリビューション で実際の効果を定量化

❌ 避けるべき事項

1. メッセージング

❌ アンチパターン ✅ 改善案
“Urgent: Limited offer expires in 1 minute!” × 5/day Daily digest + weekly promotional email
個人情報なしの汎用メッセージ Personalized content by segment
送信時間がユーザーのタイムゾーンを無視 Local time optimization
A/B テストなしで大規模配信 Small test first, then scale

2. セグメント管理

❌ アンチパターン ✅ 改善案
すべてのユーザーへ無差別配信 Segmentation by engagement/RFM
条件の更新を忘れて古いセグメントを使用 Dynamic Segments with auto-update
Manual Segment without validation Import + validation before deployment

3. システム設計

❌ アンチパターン ✅ 改善案
すべてのイベントをリアルタイム送信 Batch + aggregation で送信量を最適化
Endpoint 情報を更新しない Regular sync with customer database
Unsubscribe link を省略 Always include unsubscribe option

トラブルシューティング

問題 原因 解決策
“Message delivery failed - Invalid endpoint” Endpoint データが古い/フォーマット不正 Endpoint 情報を再検証・更新;Campaign Hook で事前フィルタリング
“Campaign never starts - Segment is empty” セグメント条件に該当ユーザーがいない Segment SQL を確認;テストセグメント作成;条件を緩和
“SMS delivery delayed” キャリア側の遅延/キューイング キャリアの制限を確認;送信レート制限を調整;リトライロジック確認
“High bounce rate in Email” Invalid email address / SPF/DKIM 未設定 DMARC/SPF/DKIM を設定;バウンスメール処理;Suppression List 活用
“Journey participants not advancing” Wait 時間設定・Event トリガー誤り Journey Debugger で参加者状態確認;Event 発火ログ確認
“Push notification not shown on mobile” Device Token 期限切れ / APNs 証明書問題 Device Token 更新メカニズム確認;APNs 証明書期限確認
“Analytics metrics are zero” Event stream not enabled / Custom events 未設定 Kinesis Firehose 設定確認;SDK logging enable;イベント定義確認
“Segment estimation differs from actual delivery” Dynamic Segment が配信時に変更 Segment 条件を固定化(Static Segment の使用検討)
“Endpoint attributes not updating” SDK イベント送信タイミング・キャッシング Mobile SDK cache clear;Manual endpoint update via API
“Campaign stuck in ‘Launching’ status” IAM Permission不足 / Lambda timeout IAM role の Pinpoint permission 確認;Lambda timeout 拡張

2025-2026 最新動向

1. Pinpoint End of Support - 2026年10月30日

  • サービス廃止: Pinpoint Console・Segment・Campaign・Journey リソースにアクセス不可
  • SMS/Voice/Push API は継続: AWS End User Messaging に移行

2. AWS End User Messaging への移行

新規構築・マイグレーションは AWS End User Messaging へ:

  • SMS / Voice / Push Notification API 統一
  • Email は SES / Mail Manager へ
  • Campaign / Journey は Amazon Connect へ

3. Alternatives の浮上

Enterprise 市場では以下の選択肢が増加:

  • Braze:AI-driven segmentation・Frequency capping
  • Iterable:API-first・Real-time personalization
  • Twilio Engage:SMS/Voice native・Global coverage
  • Klaviyo:E-commerce focused・SMS/Email integration

学習リソース・参考文献

公式ドキュメント・ガイド(8+)

  1. Amazon Pinpoint User Guide
  2. Amazon Pinpoint Developer Guide
  3. Amazon Pinpoint API Reference
  4. Amazon Pinpoint end of support
  5. AWS End User Messaging SMS User Guide
  6. Pinpoint Pricing
  7. Pinpoint FAQs
  8. Pinpoint Release Notes

ベンダー・OSS リソース(5+)

  1. AWS Amplify Analytics Documentation
  2. Braze Platform - Competitive alternative
  3. Twilio Engage - SMS/Voice native
  4. Iterable Documentation - Journey builder reference
  5. OneSignal Guides - Push notification best practices

AWS Blog・ホワイトペーパー(5+)

  1. AWS Messaging & Targeting Blog
  2. AWS Pinpoint Migration Guide
  3. Customer Engagement on AWS - Whitepaper
  4. AWS Well-Architected Framework - Operational Excellence Pillar
  5. AWS Customer Success Stories

実装例・チェックリスト

実装例 1: E-commerce Onboarding Journey

Use Case: 新規登録ユーザーへの自動化ウェルカムシーケンス

Timeline:
- T+0m: 登録完了 → Email "Welcome" + activation link
- T+2h: SMS "Confirm your email"
- T+1d: Email "Shop our bestsellers" + 10% discount code
- T+3d: Push "Complete your profile"
- T+7d: Email "People who bought X also bought Y" (personalized)

Tools:
- Pinpoint Segment: Registration date = Today
- Pinpoint Journey: Multi-step automation
- Personalization: {{FirstName}}, {{DiscountCode}}
- Analytics: Track email open, link click, purchase conversion

実装例 2: LTV-based VIP Messaging

Use Case: 高額顧客への特別施策・優遇配信

Segmentation:
- Dynamic Segment: Lifetime Value > $5,000 AND Purchase recency < 6 months
- A/B Test: VIP offer version A vs version B
- Exclusive channels: Email + SMS (no push to avoid annoyance)

Content:
- Email: "Exclusive VIP Pre-Launch Access"
- SMS: "Your personal account manager: +1-800-VIP-1234"
- In-App: "VIP Loyalty Points Multiplier (3x)"

Analytics:
- Revenue per VIP segment
- Email engagement (open, click)
- SMS response rate

チェックリスト - Pinpoint 導入前

  • [ ] End-of-Support 日付の確認(2026年10月30日)
  • [ ] 代替サービス の評価(Braze, Iterable, Twilio Engage)
  • [ ] AWS End User Messaging への移行計画
  • [ ] Email チャネルの SES 移行計画
  • [ ] Campaign/Journey の Amazon Connect 移行計画
  • [ ] GDPR/CCPA/SMS Compliance レビュー
  • [ ] Endpoint & Segment データ品質監査
  • [ ] IAM Role・KMS 暗号化設定
  • [ ] テスト実施(Sandbox環境)
  • [ ] Monitoring・Alert 設定(CloudWatch)

チェックリスト - Pinpoint 運用

  • [ ] 週次:Segment の効果測定
  • [ ] 週次:Campaign KPI(delivery, open, click, conversion rate)
  • [ ] 月次:Journey 参加者・成果分析
  • [ ] 月次:A/B テスト結果集約・次施策へ反映
  • [ ] 月次:Endpoint 品質チェック(Invalid rates)
  • [ ] 四半期:コンプライアンス監査(Opt-in/out, DLT登録状況)
  • [ ] 四半期:Cost 最適化(送信レート、テンプレート整理)
  • [ ] 年次:Suppression List 見直し・バウンスメール確認

まとめ

Amazon Pinpoint は Tier 2 顧客エンゲージメント・キャンペーン管理プラットフォームであり、複雑な顧客ジャーニー・マルチチャネルメッセージングを AWS ネイティブで実現します。

Key Takeaways

  1. Dynamic Segments + Campaign + Journey で包括的なカスタマーエンゲージメント実現
  2. 2026年10月30日にサービス廃止 → AWS End User Messaging / SES / Connect への移行が必須
  3. A/B Testing・Personalization・Multi-channel で高い ROI を実現可能
  4. コンプライアンス(GDPR/CCPA/SMS DLT)を組み込んだ設計が必須
  5. Braze・Iterable などの SaaS alternatives も検討価値あり

推奨される使用シーン

✅ Email・SMS・Push の統一管理が必要
✅ 複数条件による動的セグメンテーション
✅ AWS 環境との深い統合が必要
✅ 中~小規模スタートアップ・企業

非推奨シーン

❌ 2026年後のサービス廃止のため、新規長期構築は非推奨
❌ 高度な AI/ML ベース personalization が必要
❌ API-first・multi-tenant なエンタープライズ環境


参考リンク


最終更新:2026-04-27
バージョン:v2.0