|
| 1 | +--- |
| 2 | +title: Perkville Destination |
| 3 | +rewrite: true |
| 4 | +--- |
| 5 | + |
| 6 | +[Perkville](https://www.perkville.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners) is a customer reward and referral platform - similar to airline mile programs - that integrates with e-commerce, point of sale, membership and scheduling systems to provide a seamless experience that drives referrals and loyalty. |
| 7 | + |
| 8 | +This destination is maintained by Perkville. For any issues with the destination, [contact the Perkville Support team ](mailto:[email protected]). |
| 9 | + |
| 10 | +The Perkville Destination is in beta, which means that they are still actively developing the destination. To join their beta program, or if you have any feedback to help improve the Perkville Destination and its documentation, [contact the Perkville support team ](mailto:[email protected]). |
| 11 | + |
| 12 | + |
| 13 | +## Getting Started |
| 14 | + |
| 15 | +{% include content/connection-modes.md %} |
| 16 | + |
| 17 | +1. From the Destinations catalog page in the Segment App, click **Add Destination**. |
| 18 | +2. Search for "Perkville" in the Destinations Catalog, and select the "Perkville" destination. |
| 19 | +3. Choose which Source should send data to the "Perkville" destination. |
| 20 | +4. Go to [Perkville > Settings > Apps](https://www.perkville.com/settings/usr/apps/){:target="_blank"} while logged in as an admin. |
| 21 | +5. Under Connect Segment, click "Generate Token" and then "Accept." |
| 22 | +6. Click "Show token" under the Segment app, then copy the token. |
| 23 | +7. Paste the token into the "API Key" field for the "Perkville" destination settings in Segment. |
| 24 | + |
| 25 | + |
| 26 | +## Supported methods |
| 27 | + |
| 28 | +Perkville supports the following method, as specified in the [Segment Spec](/docs/connections/spec). |
| 29 | + |
| 30 | + |
| 31 | +### Track |
| 32 | + |
| 33 | +Send [Track](/docs/connections/spec/track) calls to award points for allowlisted actions. For example: |
| 34 | + |
| 35 | +```js |
| 36 | +analytics.track('Order Completed', { |
| 37 | + order_id: 'o283h08fh2390f923uofu23', |
| 38 | + revenue: 9.99, |
| 39 | + |
| 40 | +}); |
| 41 | +``` |
| 42 | + |
| 43 | +> warning "Important" |
| 44 | +> You should only send the track events you need to Perkville. You may use [Segment Destination Filters](/docs/connections/destinations/destination-filters/) to prevent unwanted events being sent to Perkville. You must allowlist the names of the events you need in the Perkville destination settings in the Segment App. Segment sends those events to Perkville for you, and returns an error if the event is not allowlisted. |
| 45 | +
|
| 46 | +#### Required Values |
| 47 | + |
| 48 | +The only required event value is `email`. This must be present within the `event`, `event.properties`, or `event.context.traits` objects. |
| 49 | + |
| 50 | +#### Quantity Calculation |
| 51 | + |
| 52 | +Any events that have an `order_id` will be treated as spend transactions. The quantity of points given will reflect the event's `revenue`, `value`, or `total` in that priority order. Per [the eCommerce spec](/docs/connections/spec/ecommerce/v2/#order-refunded), if the order event name includes "Refund," points will be removed from the Perkville account associated with the provided email. |
| 53 | + |
| 54 | +All other events default to a quantity of 1. |
0 commit comments