Klaviyo
Beam connects with your Klaviyo account to enable ongoing post-purchase storytelling and activations around your brand community’s impact. Each time a customer selects a nonprofit while checking out with Beam, they see the impact they’re making alongside the rest of your brand community towards tangible goals (e.g., the [Brand] community is 43% of the way to funding the removal of 10,000 lbs of plastic from the ocean). This tangible impact growth is extremely motivating to customers, and our Klaviyo trigger can be used to drive them to take key actions (e.g., make a repeat purchase, invite a friend) across the customer lifecycle as the community nears the completion of a goal.
You can preconfigure a threshold of progress towards a goal (best practices are 70% and 100%) for when Beam should notify Klaviyo of the progress. When the community reaches that threshold, our Klaviyo integration will trigger an email to send from you to each customer who participated in that goal automatically. Beam can also send a trigger upon the completion of the goal to congratulate community members on what they funded together.
This document outlines the email trigger options available through Beam as well as the quick steps to integration.
Klaviyo Profile Metadata
When Beam's system sends events to your Klaviyo account, Klaviyo Profiles are created, or updated based on email address, with helpful metadata to determine which storefront the user is associated with. This data can be used to filter flow triggers based on the user's location if needed.
Profile data included:
Name | Type | Purpose |
---|---|---|
mostRecentBeamStoreId | integer | The Beam Store Id of the store at which the user contributed to a nonprofit's goal |
mostRecentBeamStoreName | string | The Beam Store Name of the store at which the user contributed to a nonprofit's goal |
mostRecentBeamStoreCountryCode | string | The country code of the store at which the user contributed to a nonprofit's goal (e.g., US, CA) |
lastSupportedNonprofit | string | The last nonprofit supported by the user (only provided by Beam Nonprofit Redemptions at this time) |
Email trigger options
Community Progress
Triggers when the preconfigured percent of the community's progress bar is passed
Recipient: each of the users who placed an order and selected that particular nonprofit to support with the donation
Data included:
Name | Type | Purpose |
---|---|---|
nonprofit | string | The name of this nonprofit (e.g., LES Ecology Center) |
cause | string | The name of this nonprofit's cause (e.g., Sustainability) |
community_goal | string | The goal description of this nonprofit's community goal (e.g., Fund supplies to compost 1,000 lbs of food waste, reducing 1,500 lbs of CO2 emissions) |
community_goal_image | string (url) | The URL of the image for this nonprofit's community goal |
times_completed | integer | The number of times the community has completed this nonprofit's community goal |
has_completed | boolean | Whether the community has ever completed this nonprofit's community goal |
community_progress | integer (between 0 and 100) | The percent progress the community has made toward the current community goal of this nonprofit, could be larger than the trigger percent (e.g. if one large transaction pushed the progress from 69% past the 70% trigger to 71%, this would be 71) |
beam_nonprofit_id | integer | The Beam Id of the nonprofit (e.g., 123) |
lastSupportedNonprofit | string | The name of the nonprofit most recently supported by the user on your site |
Community Progress Restart
Triggers when the nonprofit's community goal is surpassed
Recipient: each of the users who placed an order and selected that particular nonprofit to support with the donation
Data included:
Name | Type | Purpose |
---|---|---|
nonprofit | string | The name of this nonprofit (e.g., LES Ecology Center) |
cause | string | The name of this nonprofit's cause (e.g., sustainability) |
community_goal | string | The goal description of this nonprofit's community goal (e.g., Fund supplies to compost 1,000 lbs of food waste, reducing 1,500 lbs of CO2 emissions) |
community_goal_image | string (url) | The URL of the image for this nonprofit's community goal |
times_completed | integer | The number of times the community has completed this nonprofit's community goal |
first_time_completed | boolean | Whether this is the first time the community has ever completed this nonprofit's community goal |
lastSupportedNonprofit | boolean | (v2 Only) The name of the nonprofit most recently supported by the user on your site |
Prompt to Share Post-Redemption
Triggers when a transaction has been redeemed.
Recipient: a user who placed an order and selected a nonprofit to support with that order
Data included:
Nam | Type | Purpose |
---|---|---|
impact_summary_text | string | The English sentence part that describes what has been funded, ie: “of unwanted fabric from local fashion companies reused and recycled” |
impact_unit | string | The English word corresponding to the measurement of goal progress, ie: “pounds” |
impact_value | number | A numeric value indicating the number of “impact_units” which have been funded by the partner, ie: 5 Used in combination, this impact metadata can be used as "impact_value impact_unit impact_summary_text" to display a sentence such as 5 pounds of unwanted fabric from local fashion companies reused and recycled |
beam_nonprofit_id | number | The Beam Id of the nonprofit, ie: 123 |
nonprofit | string | The name of the nonprofit, ie: “Surfrider Foundation” |
nonprofit_share_image_url | string | A Beam-hosted image link which can be sent to users to share their impact on social media |
cause | string | The name of this nonprofit’s cause category, ie: “Sustainability” |
community_goal | string | The goal description of this nonprofit's community goal (e.g., Fund supplies to compost 1,000 lbs of food waste, reducing 1,500 lbs of CO2 emissions) |
community_goal_image | string | The URL of the image for this nonprofit's community goal |
community_progress | number | The percent progress the community has made toward the current community goal of this nonprofit, could be larger than the trigger percent (e.g. if one large transaction pushed the progress from 69% past the 70% trigger to 71%, this would be 71) |
times_completed | number | The number of times the community has completed this nonprofit's community goal |
has_completed | boolean | Whether the community has ever completed this nonprofit's community goal |
order_date | string | The date + time of the order that triggered this redemption alert |
is_recurring_order | boolean | Whether the order was automatically created as part of a subscription. |
Setting up Beam’s Klaviyo integration
- Create a Klaviyo API Key and send it to Beam
- From the Klaviyo homepage, click “Account Plan” → “Account” → “API keys” → “Create Private API Key”
- From the permissions page, either:
- Option #1: Choose custom permissions. At minimum, we require full access to Events, Flows, List, Metrics, and Profiles.
- Option #2: Grant full access.
- Create Email Templates for Beam Community Progress Emails
- Beam can send metrics at any progress percentage. The team recommends sending the email at 70% completion and this is the default setting.
- Beam will send metrics to your Klaviyo instance to enable creating a Klaviyo flow trigger
- Create a Klaviyo flow (Flows > Create Flow > Create from Scratch > Enter any name & tag you like)
- Klaviyo will ask “what will trigger this flow?”, Select the Metric option and search the list for the beam metric. Beam will confirm the metric tag to search for; It will follow the convention of community_progress or community_progress_restart.
- Once your flow trigger is selected, drag the email action option & configure the email to use the template created in step 2.
- Take the Flow live and notify the Beam team Beam will send a test trigger to any emails specified by your team
- Sign off on the flow and Beam takes the trigger live!
Best practices and use cases
Use cases
- Community is close to completing a goal
- Purpose: Use gamification to drive key behaviors (e.g., referral + repeat purchase)
- Example headline: We’re 70% of the way to providing 1,000 lbs of produce to families in Chicago in food deserts! Invite a friend to help us get there faster
- Goal complete; Congratulations
- Purpose: Show customers the impact that they were a part of to deepen their emotional connection to your brand and community. Beam can supply imagery from the nonprofit
- Example messaging: We did it! The [Brand] community just reached our goal of funding the protection of 500 acres of the rainforest [Nonprofit]. You made this happen- thanks for being part of our community.
- Customer redeemed a transaction
- Purpose: Provide confirmation that the customer's order is making an impact to a nonprofit that your brand and community care about, and strengthen their connection to your brand quickly after purchase.
- Example messaging: Thank you for making an impact with your purchase at [Brand]! We are [x]% of the way to our goal of removing 250 pounds of plastic from the world's oceans, and you're helping to make that happen. Thanks for being part of our community!
Best practice content in both use cases
Example CTAs
- Share: To celebrate, share your impact to help us grow the movement. [pre populated social graphic that Beam can provide]
- Referral: Invite a friend to help us grow the movement
- Repeat order: Help us do it again--here’s a code to make 2x as much impact on your next purchase (codes to be pre-configured with Beam to have an impact boost)
Example content following storytelling
- Aligned business practices: We’re passionate about protecting the planet—here’s a bit more on how we use only sustainably grown and harvested ingredients in our supply chain.
- Leadership statement: Here’s a note from our CEO on why this matters to us