Klaviyo

Send your fans to Klaviyo as profiles with their Nero purchase history, from one API key.

Email your fans from Klaviyo and build segments like “spent more than $50 on my queue”. No field mapping to set up.

Connect Klaviyo

  1. In Klaviyo, open Settings, then API keys, and create a private key with the profiles:write, lists:read, lists:write and events:write scopes (Full access to Profiles, Lists and Events). It starts with pk_.
  2. In Nero, open Settings, Developer, Klaviyo and paste the key. Connect CRM on the Fans table does the same.
  3. Tap Sync to Klaviyo on the Fans table to send your fan list.

How the sync works

  • Sync to Klaviyo sends your full list. Nero also syncs once a day, sending anyone with new activity.
  • Fans are matched by email, so a re-sync updates their profile instead of duplicating it.
  • Every fan with a usable email goes. Turn on Paid only in the Fans table to send just paying fans.
  • Every synced fan is also added to a list called Nero fans, which Nero makes in your account if it is not there yet. Being on it is not email or SMS consent; segment on the properties below to reach the fans you have consent for.

Gold star list

Star an artist in your queue and Nero can add them to a second list, Nero gold star winners, once per artist. A flow you build on that list sends them whatever you like, such as their own single-use discount code. Nero emails nothing for this.

  1. On Settings, Developer, Klaviyo, turn on Add starred artists to the list. Nero makes the list in your account if it is not there yet.
  2. In Klaviyo flows, create a flow that starts when someone is added to Nero gold star winners and sends them your reward. A unique coupon code block gives each artist their own code.

Each profile Nero adds carries your Nero username, when you last starred them and the song it was for, so the flow can mention them. This has nothing to do with the gold star reward Nero emails: use either, both, or neither. Being on the list is not email consent; your flow sends because you starred them, so keep it to the reward.

An event for every star

The list add happens once per artist, and Klaviyo’s Added to list trigger only fires that first time, so a band you star for a second song hears nothing from a list flow. For that, every star also creates a Gold Star Awarded event on the artist’s profile, with the song. Start a flow on that metric instead of the list to send for every star, put {{ event.song_title }} in the email, and split first-time from repeat winners with a condition on gold_star_count. The same song starred twice is one event.

{
  "metric": "Gold Star Awarded",
  "profile": { "email": "band@example.com", "first_name": "Krucial", "last_name": "Rootz" },
  "time": "2026-09-10T19:04:11.000Z",
  "properties": {
    "song_title": "Importante",
    "artist_name": "Krucial Rootz",
    "session_name": "Sugarshack Sessions",
    "gold_star_count": 2,
    "host": "gabecohen",
    "host_id": "127b37af-87f9-44dd-8b70-28af2e61f050",
    "song_link": "https://open.spotify.com/track/..."
  }
}
PropertyTypeWhat it holds
song_title
string
The song you starred.
artist_name
string
The name the artist submitted under.
session_name
string
The name of the stream it was submitted to.
gold_star_count
number
How many of this artist's songs you have starred, this one included. 1 on their first.
host / host_id
string
Your Nero username and creator ID.
song_link
string
The submitted link, when the song was a link rather than an upload.

What lands on each profile

Contact details fill the standard Klaviyo fields. Everything from Nero is prefixed nero_, so it never collides with your other tools.

{
  "email": "fan@example.com",
  "first_name": "Beat",
  "last_name": "Fan",
  "phone_number": "+19109929771",
  "properties": {
    "nero_creator": "gabecohen",
    "nero_creator_id": "127b37af-87f9-44dd-8b70-28af2e61f050",
    "nero_total_spent": 135,
    "nero_submission_count": 15,
    "nero_first_purchase_at": "2025-12-20T23:10:08.800Z",
    "nero_last_purchase_at": "2026-06-18T20:40:08.800Z",
    "nero_instagram": "beatfan"
  }
}
FieldTypeWhat it holds
email
string
Fan email. Klaviyo matches existing profiles on it.
first_name / last_name
string
Latest known fan name, split on the first space.
phone_number
string
Latest phone the fan provided, only when it is a full international number.
nero_creator
string
Your Nero username.
nero_creator_id
string
Your Nero creator ID.
nero_total_spent
number
Lifetime spend on your queue, in dollars.
nero_submission_count
number
Lifetime submission count.
nero_first_purchase_at
string
First submission time, ISO 8601.
nero_last_purchase_at
string
Latest submission time, ISO 8601.
nero_instagram
string
Latest Instagram handle the fan provided, when they gave one.

Segment on Nero data

In Lists and segments, create a segment with a condition on Properties about someone. nero_total_spent greater than 50 finds your biggest spenders. nero_last_purchase_at older than 60 days finds fans worth winning back. Use nero_creator if more than one Nero creator syncs into this account.

Good to know

  • Connecting adds one test profile (“Nero connection test”, connection-test@nero.fan) and puts it on the Nero fans list, and fires one Nero connection test event on it, to prove the key can do everything the sync and the gold star reward do. Delete it from Profiles whenever you like.
  • A key without all four scopes is refused when you connect, with the reason. So is a public key. A key connected before events were part of the reward keeps the list working but sends no events; paste a new key to get them.
  • Keep the two lists’ names as they are. Nero finds them by name, so a renamed list is replaced by a new empty one on the next sync or star.
  • Phone numbers only send as full international numbers (+19109929771). Otherwise the fan syncs without one.
  • One destination at a time. Connecting Klaviyo replaces a webhook connection, and the other way round. For any other tool, use the CRM webhook.

Read the Nero guides