If your app sends to Segment, add PennyPost as a destination. Nothing goes in your code.
Set it up
- On Activation, open Other ways to connect and choose Segment.
- PennyPost shows a URL and a token. Copy the token now: it's shown once.
- In Segment, go to Connections, then Destinations, then Add destination, and pick Webhooks (Actions).
- Add a mapping:
- Trigger:
identify,page, andtrackfor your results event. - Send mapping URL: the URL PennyPost showed, like
https://usepennypost.com/api/v1/ingest/segment/<your connection>. - Header:
Authorization: Bearer ppi_...with the token. - Keep the default data and leave batching off.
- Trigger:
- Save and enable the destination.
What PennyPost uses
identifyfor the person's email (traits.email) and name. PennyPost remembers whichuserIdgoes with which email, so later calls from the same user count.pagefor the path. The query string is never kept.trackonly when the event isresults_readyor the name you saved as your Results track event (likeRender Finished).
Calls from users PennyPost has no email for yet are skipped. Events older than 7 days are rejected.
Limits
- One event per request, or up to 500 if you turn batching on, and at most 1 MB per request.
- 60,000 events an hour and 1,000 new people an hour per connection.
Token
Lost the token? Click New token. The old one keeps working for 24 hours so your destination doesn't break while you swap it. PennyPost stores only a hash of it.
Disconnect stops PennyPost accepting the destination's events and deletes the user IDs it kept.