Alva Courses is a Shopify app that builds, sells and delivers online courses inside your store. So are Tevello and Courses Plus, which makes this a different job from leaving Kajabi or Thinkific: your store, products, checkout and customer list stay exactly where they are.
What moves is the course content and the record of who is enrolled. Done in the order below, existing students keep access the whole way through, and the old app is only removed once nothing depends on it.
Is there an importer from Tevello or Courses Plus?
No. Alva Courses has no importer for Tevello, Courses Plus or any other platform, and as of October 2026 neither app's help centre describes a way to export course content. Lessons are rebuilt by hand. Students are the part you can move in bulk, as a CSV of names and emails.
What you can export from each app
Courses Plus exports student progress as a CSV. Tevello's help centre documents a member import but no member export, as of October 2026. Shopify itself can export every customer who bought a course product, whichever app you used. Export everything before you uninstall, and save lesson text, files and original video yourself.
Courses Plus: the progress export
In Courses Plus, open a course's Students page, choose Reports, then Export progress CSV, or use My Courses → Actions to export every course at once. The file is emailed to you and can include name, email, course, finished lessons, progress, start date and completion date.
Export one file per course: within a single file, Alva Courses flags a repeated email as a duplicate, so a student in two courses belongs in two files.
Tevello: export from Shopify instead
In Shopify, open Customers and filter to customers who purchased the course product, then choose Export and the option for customers matching your filters. Students you added to Tevello by hand or by CSV only appear if they also bought the product, so add the rest from your own records or ask Tevello support.
Quiz results, certificates and video
Neither help centre documents an export of past quiz results or issued certificates, or a way to download uploaded videos back out. If you keep records for accreditation, capture them now. Check that you still hold the original files for any video you uploaded to the old app.
The cut-over order that keeps access open
Run the two apps side by side and move in a fixed order: build, link, test, import, relink, announce, uninstall. Each step depends on the one before it, and the old app stays installed until the end, so no student is ever stuck between two systems with access to neither.
Switch-over checklist: Tevello or Courses Plus to Alva Courses
| Task | Done when |
|---|---|
| Export students and records from the old app | You hold a CSV of names and emails per course |
| 1. Rebuild each course in Alva Courses | Same sections, lessons and titles |
| 2. Link the existing Shopify products | Each product shows under Linked Products |
| 3. Place a test order | Enrolment, email and playback all work |
| 4. Import students | Member count matches your export |
| 5. Relink menus, account and checkout | Nothing points at the old app |
| 6. Email students | Every imported student has been told |
| 7. Uninstall the old app | A quiet week in your support inbox |
Step 1: Rebuild each course with the same outline
Rebuild one course at a time in Alva Courses, keeping the section order, lesson order and lesson titles you already have. Matching the old outline matters more than polishing it: returning students will look for the lesson they stopped on, and an identical structure lets them find it unaided.
Lay out the outline in one pass
On the course page, Create Multiple opens a dialog where you type every section and lesson name, reorder them and create the whole outline at once. If several courses share a structure, finish one and use Duplicate Course: the copy is a draft without members or linked products.
Move lesson content block by block
Each lesson is a stack of content blocks: text, images, PDFs, audio, ePub, MS Office files, video, quizzes, Zoom links and buttons. Paste lesson copy into a text block, attach the files you saved, and rebuild each quiz in a Quiz block.
Re-add your video
Video embedded from YouTube, Vimeo or Loom is the easy case: paste the same links into the new lessons. For Vimeo, prefer Embed only (formerly Hide from Vimeo) with Specific domains over Unlisted, because Alva Courses builds the player from the video number in the link. Alva Courses has no Wistia embed, so Wistia video needs a new home.
Uploaded video needs your original files. On the Unlimited plan, uploads go to Shopify's storage, capped at 1 GB and 10 minutes per file. Unlimited Pro adds Alva Video Hosting: 50 GB and no per-video length limit. The Shopify video limits guide compares the routes.
Turn certificates and gating back on
New courses have certificates enabled with your store's default design, while the certificate email starts switched off. Brand the template, switch the email on, and enable Require completion before next lesson wherever the old course forced lessons in order.
Step 2: Link the same Shopify products
Alva Courses enrols buyers through the Shopify products linked to a course. When you create the course, choose Select existing product and pick the product the old app delivers, or add it later under Settings → Pricing & access. Product pages, prices and collections stay exactly as they are.
One product can unlock several courses, and you can link a whole product or a single variant. See link a course to a Shopify product.
A link only works going forward
Alva Courses enrols a buyer when Shopify reports a paid order for a linked product, and never looks back through order history. Anyone who bought while the old app delivered the course needs the CSV import in step 4.
While the old app still delivers the same product, a new buyer can be enrolled, and emailed, by both apps. That is harmless for a day and confusing for a month, so keep steps 2 to 5 close together.
Step 3: Test with a real order
Before any student sees the new course, buy it yourself with a 100%-off discount code or Shopify's Bogus Gateway. Check the order is marked Paid, then confirm the enrolment appears in the course's members list, the enrolment email arrives, and lessons, videos and quizzes play in the storefront.
Enrolment emails only send once Send enrollment emails is ticked under Settings → Email Settings. That box starts unticked, so tick it before the test. The test enrolment walkthrough lists each check. Fix problems now, while the only student affected is you.
Step 4: Import your existing students by CSV
Existing students are enrolled in Alva Courses with a bulk CSV import, under Members → Bulk Import CSV. The file needs an email column, optional first and last names, and a course column holding the exact Alva Courses course title. One row can enrol a student in up to ten courses. The import members with CSV guide walks through each screen.
Build the file
email: required. Malformed and repeated addresses are flagged in the preview.first_nameandlast_name: optional, but they keep the member list readable.course_1tocourse_10: the course title exactly as in Alva Courses, capitals included. The import page lists every title and copies one with a click.
Course titles may only use Western European letters, numbers and common punctuation: a title with an emoji, a curly apostrophe or an en dash stops the import. Rows naming a title two courses share are refused too, so rename those courses before you start.
Header capitalisation does not matter, so the First Name, Last Name and Email columns of a Shopify customer export work as they are. Delete its other columns and add course_1.
A Courses Plus export needs its headers adjusting: rename the course column to course_1, with values matching the Alva Courses title, rename the name column to first_name, and check the email column is headed Email. Each file can hold 1,000 lines including the header, so split bigger lists.
Choose the import options
Send enrollment emails to imported members appears once the file names a course, and starts unticked. Ticked, each newly enrolled student gets your branded enrolment email with a personal link that opens the course, even without a Shopify customer account.
Like the emails sent after an order, these only go out while Send enrollment emails is on under Settings → Email Settings, so check it is still ticked from step 3.
Decide before you start. A second run skips students it already enrolled, so it sends nothing, and Resend Email on a member page works one student at a time.
Add tag to imported customers in Shopify puts one tag, such as moved-from-tevello, on every imported customer, ready for the announcement in step 6. Other columns appear under Extra columns, unticked; tick the progress or completion date column to keep it as a contact property.
What happens to each row
Buyers are already Shopify customers, so the importer matches them by email rather than creating duplicates, and every enrolment starts at 0%. Keep the page open on large files; if Shopify throttles customer creation, the import stops and Resume import picks up where it left off.
Students who had access by tag
Both old apps can grant access by Shopify customer tag, often for subscribers. Add the same tag under Membership Tags on a One Time Purchase course, and a signed-in customer carrying it gets access on opening the course, with no import.
Check drip, gating and deadlines
An imported enrolment is dated the day of the import, and drip schedules count from that date, so a student who was in week six may find week two locked again. With sequential gating on, they also re-complete lessons in order.
Limited-time access also starts a fresh window on the import date. To correct it, tick students on the course's Members tab and choose Update access, as in change a student's deadline.
Step 5: Point your store at the new courses
Students need a new front door before the old one closes. Alva Courses serves a courses page at yourstore.com/apps/alva/courses, adds a My Courses page to Shopify customer accounts, and puts course buttons on the thank-you page and on orders. Point every link there, then remove the old app's blocks.
Menus and theme links
In Shopify, go to Content → Menus and point your Courses item at /apps/alva/courses, where signed-in students see every course they own. Replace old course links in product descriptions and the footer too. See add a courses page to your theme.
Customer account and checkout
In Alva Courses, open Settings → Extensions → Installation Instructions to add the My Courses page and the thank-you and order buttons. Each install button opens Shopify's checkout and accounts editor: while it is open, remove the old app's blocks so buyers see one course button.
Old course URLs
Tevello serves its members area at /a/members, and Courses Plus its course list at /apps/my/courses/list. Shopify URL redirects only fire for addresses that return a 404 and cannot be created under /a/ or /apps/, so old course links cannot be forwarded.
Update every link you control instead: menus, email sequences, Shopify notification templates such as the order confirmation, Shopify Flow automations and link-in-bio pages. Links already in students' inboxes will break, which is why step 6 matters.
Step 6: Tell students what changed
Tell students before they notice. A short email explaining where the course now lives, how to sign in and what happens to their progress saves a round of support questions. Send it to the customer tag you added during the import, from whichever email tool you already use.
Marketing email tools, Shopify Messaging included, only reach customers who accept email marketing, so a campaign to that tag misses students who never subscribed. Students who received the enrolment email in step 4 already have their link; reach the rest another way.
Edit it to match what you actually did. Students forgive a reset progress bar far more readily than a surprise.
Step 7: Uninstall the old app last
Uninstall Tevello or Courses Plus only when nothing depends on it: every course rebuilt and tested, every student imported, every link pointing at Alva Courses, and every student told. Leave a week or two for stragglers, and answer their questions while both apps still run.
Tevello's help centre says uninstalling cancels its subscription. Neither app documents what happens to your data or students' access afterwards, so assume the old course area closes when you uninstall, and export anything you still need first.
What carries over, and what does not
Only two things move: the course content you rebuild and the student list you import. Everything that happened inside the old app, from lesson ticks to quiz scores to community threads, stays behind. Shopify data is untouched, because orders, customers and products never belonged to either course app.
Migration reality check
| Item | Moves over? | What to do |
|---|---|---|
| Shopify products, orders and customers | Stays put | Nothing: link the same products |
| Course outline and lesson content | No | Rebuild in the course builder |
| YouTube, Vimeo or Loom video | Links reused | Paste the same links into Video blocks |
| Video uploaded to the old app | No | Re-upload from your original files |
| Enrolled students | By CSV | Export a list, import it in Members |
| Lesson progress | No | Restarts at 0%; keep old figures as contact properties |
| Quiz attempts and scores | No | Capture anything you must keep |
| Certificates already issued | No | Ask students to download theirs before uninstall |
| Comments and community posts | No | Archive what matters; lesson comments start fresh |
Frequently asked questions
No. Alva Courses has no importer for Tevello, Courses Plus or any other platform, so course content is rebuilt by hand, with Create Multiple laying out the outline in one pass. Students move separately: a bulk CSV import enrols each person in the right course, matched to their Shopify customer record by email.
Not if the old app stays installed until the end. Build and test each course in Alva Courses, import your students, update store links and email students, and only then uninstall Tevello or Courses Plus. At every step each student has working access in at least one app.
No. Lesson progress, quiz attempts and certificates from the old app do not transfer, and Alva Courses cannot import them. Imported students start at 0% and earn an Alva Courses certificate when they finish again. Ask students to download any old certificate before you uninstall.
Yes. Link the existing product to the new course when you create it, or later under Settings, Pricing & access. Product pages and prices stay as they are. Alva Courses enrols buyers from paid orders received after the link exists, so earlier buyers come across by CSV import.
No. If you tick Send enrollment emails to imported members, with Send enrollment emails also on in Settings, each student gets a personal link that opens the course without signing in. Students who sign in to their Shopify customer account with the same email also find the course under My Courses, once you have added that page.
Alva Courses costs $9.99 a month on Unlimited or $14.99 on Unlimited Pro, which adds 50 GB of Alva Video Hosting, each with a 14-day free trial. As of October 2026, Tevello lists a single $29 monthly plan for live stores, and Courses Plus lists a five-lesson free tier and paid plans from $19.99 to $199.99 a month.