Troubleshooting Klaviyo + Giftnote

Fix the most common Klaviyo + Giftnote issues, from disconnected flows and duplicate emails to case-sensitive event variables.

Written By Giftnote Team

Last updated About 4 hours ago

1. Recipients getting duplicate emails

If your gift recipients are receiving two emails for the same gift β€” one that looks like a basic Giftnote template and one that matches your Klaviyo design β€” both systems are sending at the same time.

Turn off Giftnote's native emails:

  1. Open the Giftnote app in your Shopify admin

  2. Go to Settings β†’ Notifications

  3. Toggle off every native email template

    Click Save

Once Klaviyo flows are active, Giftnote's native emails must always be off. The "Block native" setting in Giftnote prevents its own notification system from firing when Klaviyo is handling delivery β€” make sure this is enabled.

You'll know it worked when: the next gift order triggers only one email to the recipient, and that email matches your Klaviyo template design (your branding, your domain).


2. Flows rejected by Klaviyo as non-transactional

Klaviyo classifies gift notification emails as transactional (not marketing), which means they must contain less than 20% promotional content. If your flow was rejected, it's because Klaviyo detected promotional elements.

Strip promotional content from your flow:

  1. Open the rejected flow in Klaviyo

  2. Remove all call-to-action buttons (e.g., "Shop Now," "Browse New Arrivals," "Use Code X")

  3. Remove any promotional imagery β€” banners, sale graphics, or lifestyle images unrelated to the gift

  4. Remove any split/conditional blocks that serve marketing content

  5. Keep only the gift message content: who it's from, the message itself, and any product details related to the gift

  6. Resubmit the flow for transactional approval via Klaviyo live chat

Standard email support may not escalate this correctly. Use Klaviyo's live chat and specifically ask them to review and approve the flow as transactional.

Important: Transactional approval typically takes overnight (up to 24 hours). Plan for this β€” don't submit the morning of your go-live. And any edit you make to an already-approved transactional template requires re-submitting it for approval again.


3. Klaviyo invite link expired before setup was completed

If you sent the Giftnote team a Klaviyo invite and they weren't able to accept it in time, the link has expired. Klaviyo invite links are only valid for 12 hours.

Option A β€” Resend the invite:

  1. Log in to Klaviyo

  2. Go to Settings β†’ Account β†’ Users

  3. Send a new invite to nick@giftnote.com with Manager-level access

The access level must be Manager β€” Analyst or Viewer permissions are not sufficient for setting up flows.

  1. Let the Giftnote team know immediately so they can accept within the 12-hour window


4. Old flows stopped working after a Giftnote update

If your Klaviyo flows were working months ago but have stopped triggering, the most likely cause is that Giftnote updated its event naming convention and your old flows are still listening for the previous event names.

Old flows cannot be patched. The event triggers in legacy flows no longer match the events Giftnote sends, and editing the trigger on an existing Klaviyo flow doesn't reliably fix this.

Replace your flows entirely:

  1. Contact support@giftnote.com and let the team know your flows have stopped triggering

  2. The Giftnote team will copy the current template flows into your Klaviyo account β€” these use the latest event names

  3. Reskin the new flows with your brand's design (logo, colors, copy)

  4. Submit the new flows to Klaviyo for transactional approval

Approval takes up to 24 hours. Do not delete your old flows until the new ones are approved and live.

  1. Turn on the new flows and turn off the old ones

If you're on a legacy Klaviyo v1 integration, you may also be missing newer event types like gift card balance reminders and gift card usage tracking. Ask the Giftnote team about upgrading to v2 during this process.


5. Event variables showing as blank in emails

If your Klaviyo email template shows the gift message, recipient name, or sender name as blank β€” but the flow is triggering correctly β€” the issue is almost always variable casing.

Klaviyo event variables are case-sensitive. Using the wrong capitalization will cause the variable to render as empty.

Check every variable in your template against this reference:

What you want to display

Correct variable

Common mistake

Sender's name

{{ event.From }}

{{ event.from }}

Recipient's name

{{ event.To }}

{{ event.to }}

Gift message

{{ event.Message }}

{{ event.message }}

Giftnote's event schema uses capitalized property names (e.g., From, To, Message). Lowercase versions will not render. If you're unsure about the exact casing for a specific variable, check the event payload in Klaviyo under Analytics β†’ Metrics β†’ [event name] β†’ Activity Feed β†’ click any event to see the raw property names.

Fix the variables:

  1. Open your Klaviyo flow

  2. Click into the email template

  3. Find every Giftnote event variable and update the casing to match the reference above

  4. Save the template

  5. Resubmit the flow for transactional approval β€” any edit to an approved template requires re-approval

You'll know it worked when: the next gift order email displays the sender's name, recipient's name, and gift message correctly instead of blank spaces.


Still not working?

If none of the above resolved your issue, try these:

  1. Place a test order from your live storefront (not from Shopify admin β€” admin orders bypass the gift message widget entirely). Add a gift message, complete checkout, then mark the order as Delivered in Shopify admin. Check your Klaviyo activity feed to see if the event appeared.

  2. Check Klaviyo's flow activity log for the specific flow. Go to Flows β†’ [your flow] β†’ Activity Feed to see if events are arriving but the flow is skipping them (common cause: Smart Sending is suppressing transactional emails β€” disable Smart Sending on all Giftnote flows).

  3. Verify your Klaviyo account is on a paid plan with payment details entered. Flows cannot be marked as transactional on free Klaviyo accounts.

If you've tried all of the above and the issue persists, contact us at support@giftnote.com β€” include your store URL, the name of the Klaviyo flow that isn't working, and a screenshot of the flow's activity feed so we can diagnose it quickly.


Related articles