Skip to content

Migrate from AWS Pinpoint

Still weighing destinations? Start with the vendor-neutral Pinpoint end-of-support decision guide.

AWS Pinpoint's engagement features — campaigns, journeys, segments, message templates, and the analytics dashboard — reach end of support on October 30, 2026. AWS's migration guidance splits the product apart: push and SMS transport move to AWS End User Messaging, email to SES, and campaign orchestration to Amazon Connect, a contact-center suite.

WingBlaze is a like-for-like home for the part that's actually going away: usage-priced campaigns, journeys, segments, and analytics over push, email, SMS, and more — API-first, multi-tenant, with your first 10,000 MAU free and no feature gates. If you're in Southeast Asia, your data stays in-region (asia-southeast1).

Concept map

PinpointWingBlaze
ProjectApp
EndpointDevice (a subscriber can hold many)
User (UserId)Subscriber (externalUserId)
User / endpoint attributesTags
SegmentSegment (filter DSL over tags, live preview)
CampaignCampaign (send-now / scheduled / recurring, A/B variants)
JourneyJourney (trigger → wait / send / condition / goal)
Message templateMessage (Liquid personalization, per-language localizations)
Events (PutEvents)Ingest API POST /e
Analytics dashboardLive funnels, conversion outcomes, cohorts, RFM
Transactional SendMessagesPOST /v1/apps/:id/notifications (priority lane)

1. Export your endpoints from Pinpoint

Create an export job (console → your project → Settings → Export, or CLI):

bash
aws pinpoint create-export-job \
  --application-id <projectId> \
  --export-job-request "S3UrlPrefix=s3://<bucket>/pinpoint-export/,RoleArn=<export-role-arn>"

Download the resulting part files and concatenate them (they're JSON Lines — one endpoint per line; gzip is fine as-is):

bash
aws s3 cp s3://<bucket>/pinpoint-export/ ./export --recursive
cat export/**/*.jsonl > endpoints.jsonl

A segment export job produces the same format if you only want part of your audience.

2. Import into WingBlaze

Create an app in the WingBlaze dashboard (the setup wizard takes your FCM service account and APNs .p8 — the same credentials Pinpoint used), then:

bash
pnpm import-pinpoint --app <appId> --file endpoints.jsonl

What the importer does:

  • Merges endpoints into subscribers. All endpoints sharing a User.UserId become one subscriber with multiple devices — push, email, and SMS stay attached to the same person, so cross-channel journeys and frequency caps work from day one.
  • Maps channels: GCM → FCM, APNS* → APNs, EMAIL → email, SMS/VOICE → SMS. Baidu/ADM/custom channels are skipped (counts reported).
  • Respects opt-outs. Endpoints with OptOut set are imported as subscribers without that device, so you can't accidentally message them. --include-optout overrides if you've handled consent elsewhere.
  • Carries attributes as tags (endpoint Attributes + UserAttributes), ready for segment filters, Liquid personalization, and journey conditions.
  • Is idempotent for identified users — re-running upserts by externalUserId rather than duplicating. Endpoints with no UserId have nothing to dedupe on, so avoid re-running those files (or split them out).

3. Rebuild segments, campaigns, journeys

  • Segments: recreate in the dashboard's segment builder with a live audience preview, or POST /v1/apps/:id/segments with the filter DSL.
  • Recurring campaigns: the composer supports daily/weekly recurrence, per-subscriber-timezone delivery, optimal-time delivery, and throttled rollout.
  • Journeys: the visual editor covers the Pinpoint journey shapes — entry by event trigger, waits, condition branches on tags, goal exits with conversion windows.
  • Event ingestion: point your PutEvents call at POST /e (batched, 1–1000 events per request). Events drive journey triggers, conversion outcomes, funnels, and RFM automatically.

4. Verify before you cut over

Send yourself a test campaign from the composer, then check the live funnel (sent → delivered → opened → clicked) on the campaign page. The quickstart walks the whole path in about ten minutes.

Timeline reminder: Pinpoint stops working on October 30, 2026 — export your endpoint data before then; AWS deletes it after the deadline. Import early, run both in parallel, and cut over when the numbers match.

Data hosted in Southeast Asia (asia-southeast1).