skills/sales-klaviyo/SKILL.md
Klaviyo platform help — AI-first B2C CRM and marketing automation for e-commerce with predictive analytics, 350+ integrations, and cross-channel messaging. Use when Klaviyo flows not triggering, segments returning wrong contacts, Shopify data not syncing to Klaviyo, predictive scores (CLV, churn) seem off, forms not capturing signups, reviews not collecting, or Klaviyo API returning errors. Do NOT use for general email marketing strategy (use /sales-email-marketing), cross-platform email deliverability (use /sales-deliverability), or email open/click tracking strategy (use /sales-email-tracking).
npx skillsauth add sales-skills/sales sales-klaviyoInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Help the user with Klaviyo platform questions — from Flows and Campaigns through Segmentation, Predictive Analytics, Multi-channel messaging (email, SMS, WhatsApp, RCS, push), Forms, Reviews, Catalogs, Coupons, Reporting, Templates, Customer Hub, and the Klaviyo Data Platform (CDP). Klaviyo is an AI-first B2C CRM and marketing automation platform focused on e-commerce, founded in 2012 by Andrew Bialecki and Ed Hallen, IPO in 2023 (NYSE: KVYO). Powers 193K+ brands with 7.3B customer profiles.
If references/learnings.md exists, read it first for accumulated knowledge.
Ask the user:
What area of Klaviyo do you need help with?
What's your role?
What are you trying to accomplish? (describe your specific goal or question)
If the user's request already provides most of this context, skip directly to the relevant step. Lead with your best-effort answer using reasonable assumptions (stated explicitly), then ask only the most critical 1-2 clarifying questions at the end — don't gate your response behind gathering complete context.
Note: If the user needs a specialized skill, route them there with a brief explanation of why that skill is a better fit.
If the request maps to a specialized skill, route:
/sales-email-marketing/sales-deliverability/sales-email-tracking/sales-integration/sales-checkout/sales-customerio/sales-mailchimpOtherwise, answer directly from platform knowledge using the reference below.
Read references/platform-guide.md for detailed module documentation, pricing, integrations, and data model.
You no longer need the platform guide details — focus on the user's specific situation.
Based on the user's specific question:
Building an abandoned cart flow:
item propertiesSetting up real-time segments with predictive attributes:
Configuring the Shopify-Klaviyo integration:
Setting up SMS alongside email:
Using the Klaviyo API to sync custom data:
{"data": {"type": "...", "attributes": {...}}} structurePOST /api/profiles/ — Klaviyo matches on email or phone and updates if existing, creates if newPOST /api/events/ — pass metric name, profile identifier, properties, and timestamplinks.next URL in responsesBest-effort from research — review these, especially items about plan-gated features and integration gotchas that may be outdated.
event:klaviyo.opened_email, event:klaviyo.clicked_email, event:klaviyo.bounced_email), review events, and consent events with HMAC-SHA256 signing (signature in the Klaviyo-Signature header — NOT Klaviyo-Webhook-Signature; max 10 webhooks per account, secret key ≥16 chars) are an Advanced KDP feature. Don't confuse the two when planning integrations.references/learnings.md with today's date./sales-email-marketing — Opt-in email marketing strategy across tools/sales-deliverability — Cross-platform email deliverability (SPF/DKIM/DMARC, warmup, inbox placement)/sales-email-tracking — Email engagement tracking strategy/sales-integration — Connect Klaviyo to CRM, warehouse, or other tools/sales-checkout — Checkout optimization (Klaviyo integrates with e-commerce checkout flows)/sales-customerio — Customer.io platform help (primary Klaviyo competitor for behavior-driven automation)/sales-mailchimp — Mailchimp platform help (primary Klaviyo competitor for email marketing)/sales-do — Not sure which skill to use? The router matches any sales objective to the right skill. Install: npx skills add sales-skills/sales --skill sales-doUser says: "I want to set up an abandoned cart recovery flow in Klaviyo for my Shopify store. Should I include SMS?" Skill does: Confirms Shopify is syncing "Checkout Started" events, then builds a flow on that trigger with an immediate conditional split to skip converters ("Placed Order"): a 2-hour delay → email 1 with dynamic product blocks + CTA; a 24-hour delay → email 2 with urgency copy and a unique 10%-off coupon; then an SMS-consent split → SMS reminder after 12 more hours for consented profiles. Recommends monitoring per-step conversion and tuning delays by AOV. Result: A multi-touch, cross-channel abandoned-cart flow that recovers revenue via email first, then SMS for non-openers, with unique coupon codes to prevent abuse
User says: "I need a welcome flow that collects email first, then asks for SMS opt-in, and sends a series of onboarding emails." Skill does: Designs a two-step signup form (email + incentive, then phone + SMS consent with a clear value prop), triggers a welcome flow on "Subscribed to List": email 1 (immediate) delivers the discount and sets frequency expectations; a 24-hour SMS-consent split rewards opt-ins with a welcome SMS; the email series continues (day 3 best-sellers, day 5 social proof, day 7 personalized recommendations); a day-14 split sends a last-chance reminder if no purchase. Result: A welcome series that grows both email and SMS lists, delivers a cohesive onboarding experience, and drives first-purchase conversion
User says: "We have a lot of repeat customers dropping off. Can Klaviyo help us identify and re-engage them before they churn?" Skill does: Confirms sufficient data for predictive analytics (500+ orders, 180+ days — else recommends a behavior-based approximation), builds a segment ("Predicted CLV High AND Churn Risk Medium/High"), and triggers a winback flow on segment entry: email 1 (day 0) personal check-in with past-purchase recommendations, email 2 (day 4) new arrivals/restocks, email 3 (day 8) an exclusive incentive, then an SMS split for a time-limited offer. Recommends watching segment size for root causes rather than relying on automation alone. Result: A proactive churn-prevention system that auto-identifies at-risk high-value customers and re-engages them with a personalized multi-touch sequence before they lapse
Symptom: Predictive attributes (CLV, churn risk, next order date) show as blank or unavailable in the profile view and cannot be used in segments Cause: Klaviyo's predictive models require a minimum volume of historical data — typically 500+ orders and 180+ days of order history. New stores, recently migrated accounts, or stores with low order volume will not have enough data for predictions to generate. Solution: Verify your order volume in Metrics > Placed Order — check the total count and the date range. If you are below the threshold, continue collecting data and predictions will appear automatically once the minimum is met. In the meantime, build behavior-based segments as an approximation: "Placed Order at least 2 times AND has not Placed Order in the last 90 days" approximates churn risk. If you have sufficient data and predictions still do not appear, contact Klaviyo support — some account configurations or data quality issues can delay prediction generation.
Symptom: Customers receive abandoned cart or browse abandonment emails after they have already completed a purchase Cause: The flow is missing a conditional split or flow filter that checks whether the customer has completed the desired action (e.g., "Placed Order") since the triggering event. Without this check, the flow continues sending even if the customer converted between the trigger and the scheduled email. Solution: Add a conditional split immediately before each email step in the flow: "Has Placed Order at least once since starting this flow." If the condition is true, route them to the exit (or a thank-you path). Additionally, set a flow filter at the trigger level: "Has not Placed Order since starting this flow" — this filter is re-evaluated before each step. Use both the trigger-level flow filter and per-step conditional splits for maximum accuracy.
Symptom: SMS messages show as "queued" or "failed" in flow/campaign analytics, and recipients are not receiving texts Cause: Most commonly, SMS compliance setup is incomplete — the brand has not completed 10DLC registration (US), the phone number is not verified, quiet hours are blocking sends, or the recipient's phone number is invalid/landline. Carrier filtering can also block messages that appear promotional without proper registration. Solution: Check your SMS setup status in Klaviyo Settings > SMS: verify that 10DLC registration is approved (US), your sending number is active, and quiet hours are configured correctly. For individual failures, check the profile's phone number format (must include country code, e.g., +1 for US). Review the SMS error codes in the campaign/flow analytics for specific failure reasons. If messages are being filtered by carriers, ensure your 10DLC registration is complete and your message content complies with carrier guidelines (no ALL CAPS, no misleading content, include opt-out language).
Symptom: Klaviyo signup popup or fly-out stops triggering in Chrome (especially incognito mode) while still working in Safari. Submit rates drop suddenly, often noticed after a high-traffic period like BFCM. The form is configured correctly and shows as "Live" in Klaviyo.
Cause: Duplicate klaviyo.js script loading on the page. This commonly happens when multiple Shopify apps or theme snippets each inject their own Klaviyo integration script (look for multiple klaviyo.js?company_id= requests in your browser's Network tab). The duplicate creates a race condition where the form SDK initializes twice — Chrome's stricter script execution order exposes this more readily than Safari, which is more lenient with duplicate script handling.
Solution: Open your site in Chrome DevTools > Network tab, filter by "klaviyo", and check if klaviyo.js loads more than once. If it does: (1) Search your Shopify theme code (Layout and Snippets files) for all references to klaviyo.js or your company_id — remove any duplicate snippet, keeping only the one Klaviyo's official integration adds. (2) Check installed Shopify apps — some email/marketing apps inject their own Klaviyo script independently of Klaviyo's native integration. Disable suspect apps one at a time and test. (3) After removing the duplicate, clear your site cache (and any CDN/edge cache) and verify in an incognito window that only one klaviyo.js request fires. If no duplicate is found, check for JavaScript errors in the Console tab that might block Klaviyo's form SDK from initializing — theme JavaScript conflicts or Content Security Policy headers can also prevent popup rendering in Chrome specifically.
Symptom: Klaviyo displays "Action Required" on the Shopify integration. Clicking the integration shows it as "Enabled" but the banner persists. Removing and reinstalling the Klaviyo app from Shopify, or disabling and re-enabling the integration in Klaviyo, does not resolve the issue. The store may show "Sorry this store is currently not available" during reconnection attempts. Cause: The OAuth handshake between Klaviyo and Shopify is broken. This typically happens after a Shopify billing disruption (failed payment, expired trial, plan change), a Shopify store freeze, or a change in Shopify admin permissions. The existing OAuth token is invalidated but Klaviyo's integration page still shows "Enabled" because the configuration record exists even though the token is dead. Solution: (1) First verify your Shopify store is active — log into Shopify admin and confirm there are no billing holds, frozen store notices, or expired trials. Resolve any Shopify-side issues first. (2) In Klaviyo, go to Integrations > Shopify and fully remove the integration (not just disable — delete it). (3) Log out of both Klaviyo and Shopify, clear cookies, or use an incognito browser. (4) Initiate the reconnection from within Klaviyo's Integrations tab (Integrations > Add Integration > Shopify) — do NOT start from the Shopify App Store, as the Klaviyo-initiated flow handles the OAuth grant correctly. (5) Complete the full OAuth authorization flow when Shopify prompts for permissions. (6) After reconnection, verify data is syncing by checking Metrics for recent Shopify events (Placed Order, Checkout Started) and confirming profile counts are updating.
tools
Wizlogo (wizlogo.com) platform help — a budget online logo maker (template/style-variation, marketed as "AI") plus a hub of FREE branding tools (business-name, blog-name and slogan generators, business-card maker, invoice generator, color converter, domain search). The pricing traps: the FREE logo is PERSONAL-USE-ONLY; the two cheap paid tiers are RASTER PNG/JPG only — Single (~€39.99 one-time) and Unlimited (~€3.99 per WEEK, recurring) — and VECTOR (SVG/PDF/EPS) is gated to the ~€299.99 Enterprise tier, which also bundles human designer edits and a social kit. Transparent PNG is on all paid plans. Use when making a Wizlogo logo, understanding free-vs-paid or personal-vs-commercial use, which tier unlocks vector/SVG for print, the weekly-subscription billing trap, its free name/slogan generators, or whether it has an API (UI-only — no public API, webhooks, Zapier or MCP). Do NOT use to just generate the business name (use /sales-namelix) or to compare/validate branding tools (use /sales-idea-validation).
tools
VistaPrint platform help (vistaprint.com, a Cimpress company) — the small-business design + print + digital-marketing platform: a free AI Logomaker (4 generations, 60 more after free sign-up) exporting SVG/PNG/PDF at 4000x4000 with no watermark, a free Brand Kit, business cards/flyers/signage/apparel/promo print, and a website builder. THE RIGHTS TRAP: VistaPrint states NO intellectual-property rights transfer on an AI-generated logo — you get usage rights but CANNOT register it for trademark or copyright; only its human designer service transfers full IP. Use when making a VistaPrint logo, asking if you own or can trademark it, running out of AI logo credits, printed colors not matching the screen, bleed/DPI/font file-prep rejections, or asking whether VistaPrint has an API (the consumer site does not — automation runs through the parent Cimpress Open partner-fulfilment API). Do NOT use for Vista Social scheduling (use /sales-vistasocial) or comparing logo tools market-wide (use /sales-idea-validation).
tools
Turbologo (turbologo.com) platform help — a budget AI/DIY logo maker: enter a business name + industry, pick icons and colors, and it proposes logo concepts you refine in an in-browser editor, then pay a one-time fee to download (designing is free, previews are watermarked, downloading is the paywall). Vector SVG/PDF is gated to the mid tier and up; the top tier adds a brand kit (business cards, letterheads, email signatures, social assets). Use when generating a logo in Turbologo, choosing which download tier to buy, vector SVG vs raster PNG, removing the free watermark, the time-limited edit-after-purchase window, pay-to-download pricing questions, whether an AI logo is yours to trademark, or whether Turbologo has an API to bulk-generate logos (it is UI-only — no public API, webhooks, Zapier, or MCP). Do NOT use to generate the business name (use /sales-namelix), compare or validate branding tools across the market (use /sales-idea-validation), or build wider marketing creative (use /sales-canva).
tools
Online Logo Maker (onlinelogomaker.com) platform help — a long-standing free/freemium DIY logo maker: build the mark yourself from icons, shapes, text, and fonts — MANUAL/template-based, NOT enter-a-name-get-AI-concepts. The free pack downloads a LOW-RES 300px PNG with a background; vector SVG, transparent PNG, and 2000px high-res are gated to a one-time lifetime Premium pack (not a subscription). The free tier's commercial-use rights are disputed by reviewers — clean ownership effectively needs Premium, and a shared-icon mark can be non-distinctive. Use for building/editing a logo here, free download vs Premium, vector SVG or transparent PNG, one-time pricing, commercial-use/trademark terms, near-namesake confusion (NOT LogoMaker.com / LogoMakr / Logomakerr.ai), or whether it has an API (UI-only — no API, webhooks, Zapier, MCP). Do NOT use to generate the business name (use /sales-namelix), compare branding tools across the market (use /sales-idea-validation), or build wider creative (use /sales-canva).