Skip to main content
— Guide

How to Segment Course Students in Klaviyo by Progress

Alva Courses can tell Klaviyo who has not started a course, who is part-way through and who has finished. Here are four segments with conditions you can copy, and the email each one should get.

What course data can Klaviyo see from Alva Courses?

Alva Courses is a Shopify app for building and selling online courses inside your store, and two kinds of its data reach Klaviyo. Progress tags are Shopify customer tags that Klaviyo syncs into each profile's Shopify Tags property. Course events travel through Shopify Flow, where Klaviyo's Track an event action records them as metrics.

Progress tags show where a student is now

With progress tags turned on for a course, each enrolled student carries one of three tags: not started, in progress or completed. Alva Courses swaps the tag as the student moves, so a segment built on it stays current.

Klaviyo's Shopify integration stores a customer's tags in a list property called Shopify Tags, and Klaviyo's Shopify data reference says profile properties from Shopify sync in real time. Nothing extra is needed beyond Klaviyo's normal Shopify connection.

Flow events show what happened and when

Alva Courses adds 13 triggers to Shopify Flow, Shopify's free automation app, including Course enrollment created, Course lesson completed and Course completed. Klaviyo's connector in Flow has one action, Track an event, which records each one as a Klaviyo metric.

Events add the timing that tags lack. A tag says a student is in progress; a lesson event says when they last moved. Events only begin when your workflow does, though, and earlier activity is never replayed into Flow.

What stays out of Klaviyo

Contact properties, such as cohort or employer, stay inside Alva Courses. They are never written to Shopify, so Klaviyo cannot see them; they belong in member exports and course emails, as explained in segmenting students with contact properties.

Klaviyo also records your Shopify orders itself, as events such as Placed Order and Ordered Product. Those show who bought a course product, but not who enrolled free, by import or by hand, and nothing about how far anyone got.

Compared · October 2026

Course data in Klaviyo, by source

How it reaches Klaviyo Earlier students? Best for
Progress tags Shopify customer tag, synced as the Shopify Tags profile property Tagged at their next activity, or all at once by a one-off sync on request Who is not started, in progress or completed right now
Flow events A Shopify Flow workflow using Klaviyo's Track an event action No: only events after the workflow is turned on Timing, starting Klaviyo flows, course details inside the email
Shopify orders Klaviyo's own Shopify integration: Placed Order, Ordered Product Yes, through Klaviyo's historical sync Who bought a course product
Contact properties Not sent: they stay in Alva Courses Not applicable Member exports and Alva Courses emails

How do you get progress tags into Klaviyo?

Turn on progress tags for each course in Alva Courses, copy the three finished tags, and confirm them on one test profile in Klaviyo. Klaviyo needs nothing beyond its Shopify integration. Students you already have are only tagged after new activity, unless you ask Alva Courses to run a one-off sync.

Turn on progress tags

In Alva Courses, open the course and its Settings tab, then choose Customer tags. Under Progress Tags, choose Enable progress tags. Every course starts disabled, so repeat this for each course you want in Klaviyo.

Keep or change the tag name

Tag name is filled in from the course URL and ID, such as watercolour-101-42. It takes lowercase letters, numbers and hyphens, up to 40 characters. Decide now, because the tag name is fixed once it is saved.

Save and copy the three tags

After you save, Tags added to customers lists the three finished tags, each with a Copy button. Paste from there into Klaviyo, because a segment condition has to match the whole tag exactly.

Progress Tags on a course's Customer tags settings tab. The three tags under Tags added to customers are the values you paste into Klaviyo.

Ask for existing students to be tagged

Turning tags on does not tag the students you already have, so a segment built the same day can look empty. Email courses@alvaapps.com with the course name and Alva Courses runs a one-off sync of every current enrolment.

Check one profile in Klaviyo

Complete a lesson as a test student, then open that profile in Klaviyo. Its Shopify Tags property should show the in-progress tag and no longer show the not-started one. Only then build segments on top of it.

When each tag applies

Enrolment adds the not-started tag. Opening a lesson is not progress: a student moves to in progress when a lesson is marked complete, and to completed once every lesson, any required quiz and any required evaluation is passed.

Segment 1: who enrolled but never started?

Students who enrolled but never completed a lesson carry the not-started tag, so this segment is a single condition. Trigger a Klaviyo flow from it with a 7-day delay: Klaviyo only sends flow messages to people still in the segment at send time, so anyone who starts during the wait is skipped.

Watercolour 101 · Not startedSegment 1
  1. Properties about someone → Shopify Tags → includes any of → alva-not-started-watercolour-101-42

Klaviyo's segment builder calls this list operator Includes any of, and it matches a whole tag exactly; Klaviyo's older Shopify tags guide calls it contains. Avoid Contains the text: alva-completed-watercolour-101-4 is also part of alva-completed-watercolour-101-42.

What to send

Make lesson one feel small. Say how long it takes, link straight to the course and remind them where it lives: My Courses in their customer account, or the access link in their enrolment email if your store sends one.

Sell nothing here. A plain course link opens the course once the student signs in to your store; if students usually arrive through the emailed access link, Alva Courses' Resend course access email action in Shopify Flow sends it again.

Automate it

In Klaviyo, create a flow triggered by the segment, add a 7-day time delay, then the email. A segment-triggered flow only starts for profiles that newly join the segment, so students already in it need Klaviyo's Add past profiles option.

To keep it inside Shopify, nudge students who haven't started a course does a similar job in Shopify Flow, emailing anyone under 10% complete a week after enrolling. Its email reaches every enrolled student, subscribed to marketing or not, once Send enrollment emails is ticked.

Segment 2: who started and then stalled?

Stalled students carry the in-progress tag but have stopped completing lessons. The tag cannot say when they last moved, so either wait a fixed time after they start, or send Klaviyo a Completed Alva lesson event from Shopify Flow and look for students with none in the last 14 days.

Simple version: tags only

Watercolour 101 · In progressSegment 2a
  1. Properties about someone → Shopify Tags → includes any of → alva-in-progress-watercolour-101-42

Trigger a flow from this segment with a 21-day delay. Students who finish leave the segment and are skipped, so the email reaches whoever is still in progress three weeks after completing their first lesson.

This version cannot tell a slow, steady student from one who stopped in week one. Both get the same email, so write it to work for either reader, and keep the tone practical rather than worried.

Precise version: tags plus lesson events

Follow send course completions to Klaviyo, but choose the Course lesson completed trigger and the event name Completed Alva lesson. Include Course ID in Event Properties, and add a Flow condition that Repeat completion is false.

Watercolour 101 · StalledSegment 2b
  1. Properties about someone → Shopify Tags → includes any of → alva-in-progress-watercolour-101-42
  2. And: What someone has done (or not done) → Completed Alva lesson → zero times → in the last 14 days, with a filter of Course ID equals 42

Klaviyo lists a metric only after its first event, so complete a test lesson before building the segment. Then give the workflow 14 days: until a full window of events exists, students active last week still look stalled.

The course's Flow ID, the 42 here, is listed under Settings → Integrations → Shopify Flow in Alva Courses. Every field the lesson trigger sends is in Shopify Flow triggers and their fields.

What to send

Remind them what the next lesson covers and why it is worth their time, with one link back in. Write the course name into the email yourself, because a segment-triggered flow has no event data to insert.

If many students stall at the same lesson, the fix may be the lesson rather than the email. For a nudge that needs no Klaviyo at all, Alva Courses can also send a monthly progress email as service mail, once you turn it on.

Segment 3: who completed the course?

Graduates carry the completed tag, so one condition lists everyone who finished, including earlier graduates once a one-off sync has tagged them. For the moment of completion itself, the Completed Alva course event from Shopify Flow is quicker to act on and carries the course title, grade and final score.

Watercolour 101 · CompletedSegment 3
  1. Properties about someone → Shopify Tags → includes any of → alva-completed-watercolour-101-42

Completed has a strict meaning: every lesson done, required quizzes passed and, on a course that needs one, a passing evaluation. On an evaluation course the tag arrives when you pass the coursework, not when the last lesson ends.

Event or segment?

Use the event to start the congratulations email, which should arrive while the finish still feels fresh. Use the segment for campaigns, audiences and anywhere earlier graduates matter, because Flow events are never replayed for past completions.

What to send

Congratulate them on the course by name and ask for one thing: a review, a short testimonial or a reply about what they want to learn next. Their answers tell you which course to build after this one.

Keep this email about the course they finished. An offer for your next course belongs in Segment 4, behind its marketing consent condition.

Certificates can come from Alva Courses itself. Its certificate email attaches the PDF, but it starts switched off, so turn it on in the app rather than rebuilding the certificate in Klaviyo.

Segment 4: which graduates are ready for the next course?

Graduates ready for your next course carry the first course's completed tag, none of the second course's three tags, and consent to email marketing. The second course needs progress tags turned on, with existing students tagged, or the segment cannot tell who already owns it.

Ready for Watercolour 201Segment 4
  1. Properties about someone → Shopify Tags → includes any of → alva-completed-watercolour-101-42
  2. And: Properties about someone → Shopify Tags → doesn't include any of → alva-not-started-watercolour-201-57
  3. And: Properties about someone → Shopify Tags → doesn't include any of → alva-in-progress-watercolour-201-57
  4. And: Properties about someone → Shopify Tags → doesn't include any of → alva-completed-watercolour-201-57
  5. And: If someone cannot or can receive marketing → can receive email marketing, with the filter because person subscribed

Join the exclusions with And, never Or: with Or, a student who owns the second course still qualifies through whichever condition they meet. Buying the second course adds its not-started tag, which removes the student from this segment.

Why the consent condition

Klaviyo treats profiles that never subscribed as eligible for flow and campaign email, though it advises caution, and a buyer may never have ticked a marketing box. An offer for another course is marketing. Email rules differ by market, so check yours; this is not legal advice.

What to send

Give the win time to settle; a 7- to 14-day delay after the completed tag arrives is a sensible start. Then show what the next course adds that this one did not, and link to its product page.

Brands that sell physical goods can use the same pattern to point graduates at a product instead of a course. Courses for product brands shows how Alva Courses fits a store like that.

What can make a progress segment wrong?

Most wrong segments trace back to timing and tag rules rather than to Klaviyo. Tags start with new activity, refunds and expired access leave them in place, removing a student takes them away, and a loose operator can match another course. Check each of these before a segment's first send.

  • Empty on day one. Students enrolled before you turned tags on stay untagged until they act, unless you request the one-off sync.
  • Refunds keep the tag. A refund ends access but leaves the progress tag, so a refunded buyer can stay in the not-started segment. Remove that tag in Shopify by hand.
  • Expired access keeps it too. The completed segment lists people who finished, not people who can still open the course.
  • Removing a student clears all three tags. So does Shopify Flow's Revoke course access action.
  • Two tags, briefly. Alva Courses adds the new tag before removing the old one, so a student can sit in two segments for a moment.
  • Turning tags off freezes them. Existing tags stay on customers and stop updating; Alva Courses does not clear them.
  • Duplicated courses start clean. A copy has progress tags off and an empty tag name, so give it a tag name of its own.
  • Shopify's tag limit. Shopify allows around 250 tags per customer, and each course with progress tags uses three.

The full rules, including what deleting a course or uninstalling the app leaves behind, are in the help article on how to tag customers by course progress.

Do you need Klaviyo for progress emails?

No. The same progress tags work in Shopify customer segments and Shopify Flow, and Alva Courses' Resend course access email reaches enrolled students without any marketing tool. Klaviyo earns its place when your store already runs email there and you want progress-aware flows beside your other campaigns.

Progress tags and Shopify Flow triggers come with both Alva Courses plans, Unlimited at $9.99 a month and Unlimited Pro at $14.99, each with a 14-day free trial. See pricing, and the guide to automating your courses with Shopify Flow.

Frequently asked questions

Does Klaviyo sync Shopify customer tags?

Yes. Klaviyo's Shopify integration stores a customer's Shopify tags in a list property called Shopify Tags on their Klaviyo profile, and Klaviyo's Shopify data reference says profile properties from Shopify sync in real time. A segment can filter on it under Properties about someone, Shopify Tags, Includes any of.

What are the Alva Courses progress tag names?

Each course gets three tags built from its tag name: alva-not-started-, alva-in-progress- and alva-completed- followed by the tag name, for example alva-completed-watercolour-101-42. Copy them from Tags added to customers on the course's Customer tags settings tab, so the Klaviyo condition matches exactly.

Why is my Klaviyo progress segment empty?

Progress tags start with new activity. Students enrolled before you turned tags on stay untagged until they enrol, complete a lesson or finish the course, unless you email courses@alvaapps.com for a one-off sync. Also check that the condition uses Includes any of with the whole tag, copied exactly.

Can Klaviyo see a student's percentage complete?

Only through Shopify Flow. Send the Course lesson completed trigger to Klaviyo with its Track an event action and include Percent complete as an event property. Progress tags carry the state only: not started, in progress or completed.

Do progress tags change after a refund?

No. A refund ends course access but leaves the student's progress tag in place, and so does expired access. Removing a student from a course, or Shopify Flow's Revoke course access action, removes all three of that course's tags.

Will students who finished before I set this up be included?

In the completed segment, yes, once a one-off sync has tagged them; email courses@alvaapps.com to request it. Klaviyo events from Shopify Flow never include them, because Alva Courses does not replay events that happened before a workflow was turned on.

Ready to teach on Shopify?

Install Alva Courses on Shopify and build your first course in minutes. A drag-and-drop builder, video lessons, quizzes, completion certificates, member management and branded email delivery — all native to your store. Every plan starts with a 14-day free trial.

Install on Shopify →