Integrations¶
This page holds the credentials for the channels your notifications can go out through. It does not decide what goes where — each notification picks its own channels on its own page.
Go to Settings in the left navigation and open the Integrations tab. It has three sections: Email senders, SMS provider and Klaviyo. Changes are saved with the Save button in the save bar.

Where the choice is made
Add a mail server or connect Klaviyo here, then pick it as the Delivery method on Unused Balance Reminders or Redemption Notifications. Connect an SMS provider here, then tick SMS under Channels on Redemption Notifications. Until a channel is set up here, it cannot be selected there.
Email senders¶
By default Gift Card Hero sends customer emails from its own mail server. Add your own SMTP server here and your domain becomes available as a sender too — which is what customers recognise, and what your own deliverability record backs.
Each notification and each loyalty workflow's email step chooses its sender separately — this page only holds the credentials. You're responsible for your mail server's SPF and DKIM records.
1. Get the details from your mail provider¶
You need the host, port, username and password your provider issues for sending mail. Google Workspace, Microsoft 365, Mailgun, SendGrid, Amazon SES and most hosting providers all publish these.
Supported ports are 587 and 2525 (STARTTLS), 465 (SSL/TLS), and 25. Port 587 is the usual choice. The server must be a public mail server address — a host that points to a private network is refused.
2. Connect in Gift Card Hero¶
- Open Settings → Integrations and fill in Your mail server (SMTP): Server, Port, Security (STARTTLS, SSL/TLS or None), Username and Password.
- Set Sender name and Sender email — what customers will see. The sender email must be an address your server is allowed to send as.
- Click Test connection. The settings cannot be saved until a test succeeds, so a typo never becomes a run of undelivered emails. The Status badge reads Configured once the server, port and sender email are filled in.
- Click Send a test email to have a real message delivered — the small form that opens is prefilled with your store's contact address, and you can send it to any other inbox to see it arrive.
- Click Save.
Your password is stored securely
The password is stored encrypted and never shown again. Leave the field blank when editing other settings and the saved password is kept.
3. Use it for a notification or a workflow message¶
On Reminders or Redemption Notifications, set Delivery method to Your mail server (SMTP). The row shows which address and server it will send as, so you can confirm at a glance.
A loyalty workflow's Send Message action has its own Send from choice, in the Delivery group of its email step: Gift Card Hero email, or Your mail server (SMTP) once it's set up here. A step saved before this choice existed keeps sending the way it did, until you pick a sender for it. If the mail server a step is set to use stops working, that email still goes out — from Gift Card Hero email instead — and the step's run history says so; a workflow can't be activated while its chosen mail server isn't set up.
Keep the credentials current
If you change the password on your mail server, update it here too. Emails sent with stale credentials are rejected — they appear as Failed in the redemption delivery log, with the reason your server gave.
SMS provider¶
Redemption notifications can reach the cardholder (and, if you choose, the purchaser) by text message as well as, or instead of, email — useful where a phone number is what your customers reliably have. Messages go out through your own account with an SMS provider, billed to you by the provider per message.
Supported provider: Onfon Media (Kenya).
1. Get the details from Onfon¶
In the Onfon portal, under Settings → API settings, you will find your Client ID, API key and Access key. You also need a Sender ID — the name the text arrives from. Onfon registers sender IDs per customer, so use one they have approved for you; an unregistered one is rejected at send time.
2. Connect in Gift Card Hero¶
- Open Settings → Integrations and fill in SMS provider: Provider, Sender ID, Client ID, API key and, if your provider gave you one separately, Access key.
- Click Test connection. This checks the credentials against the provider without sending anything — it reads your account balance, which is shown so you can see the account is funded. The settings cannot be saved until a test succeeds.
- Click Save. The Status badge changes to Connected.
Your keys are stored securely
The API key and access key are stored encrypted and never shown again. Leave them blank when editing other settings and the saved keys are kept. Disconnect deletes them.
3. Use it for a notification¶
On Redemption Notifications, tick SMS under Channels. The SMS template and Send test SMS live in its editor there — Integrations only proves the credentials, it never sends a text.
A loyalty workflow's Send Message action can send SMS too, once a provider is connected here — a workflow with an SMS step can't be activated until it is.
Phone number format
The provider needs numbers in international form. Numbers Shopify holds already are; a local number typed elsewhere ("0712 345 678") is read as one on the provider's country. A number that cannot be read that way is passed over and the redemption is logged as Not sent with the reason.
Klaviyo¶
Klaviyo is an event-based marketing platform. Instead of Gift Card Hero sending the reminder email, Gift Card Hero sends an event to your Klaviyo account, and a Flow that you build in Klaviyo sends the actual email. This lets you use your own branding, segmentation, and A/B testing.
1. Get a Private API Key¶
In Klaviyo, go to Settings → API keys → Private API Keys → Create Private API Key.
Give the key a name (for example, Gift Card Hero) and grant these scopes — or simply choose Full Access:
- Events: Write — to send the reminder event
- Profiles: Write — the event creates or updates the customer profile
- Accounts: Read — used by the connection test
Copy the key (it starts with pk_). Klaviyo shows it only once.
2. Connect in Gift Card Hero¶
- Open Settings → Integrations and go to the Klaviyo section.
- Paste the key into Private API key.
- Click Test connection — on success a banner shows your Klaviyo account name.
- Check Enable Klaviyo integration and click Save.
Your key is stored securely
The API key is stored encrypted and is never shown again. You only need to re-enter it if you want to replace it.
3. Use Klaviyo for a notification¶
On Reminders or Redemption Notifications, set Delivery method to Klaviyo. From then on that notification sends an event to Klaviyo instead of an email from Gift Card Hero: reminders send Gift Card Reminder, redemptions send Gift Card Redeemed. Each notification is set separately — one can use Klaviyo while the other keeps sending email.
A loyalty workflow's Send Message action can send its own Klaviyo event too — named per action, default Loyalty: <workflow name> — once Klaviyo is connected here. A workflow with a Klaviyo step can't be activated until it is.
4. Build the Flow in Klaviyo¶
Create a Flow for each metric you enabled. A metric with no Flow behind it means customers receive nothing — the event is delivered and then nothing happens.
The Klaviyo block on Settings → Integrations lists the two events under Events your Flows can trigger on. Event properties unfolds the same tables as below, and How to build the Flow links to this section.
The Gift Card Reminder event carries:
| Property | Description |
|---|---|
gift_card_id |
Shopify gift card id |
card_masked |
Masked code, e.g. ••••1234 |
card_last4 |
Last 4 characters of the gift card code |
balance |
Remaining balance |
amount_used |
Amount already spent |
cards |
The same card as a list: id, last_characters, balance, amount_used |
shop |
Store domain |
reminder_id |
Internal id (used to prevent duplicate events) |
is_test |
true on an event sent from the Send test event button, false on a real one |
The Gift Card Redeemed event carries:
| Property | Description |
|---|---|
gift_card_id |
Shopify gift card id |
card_last4 |
Last 4 characters of the gift card code |
amount |
Amount taken off the card, in your store's money format |
balance |
Balance remaining after this redemption |
currency |
Currency of the amounts |
depleted |
true when this redemption emptied the card |
branch |
Store location (POS), or the branch your till app sent through the REST API; absent for online orders |
order_id, order_name |
The order the card paid for |
audience |
Who the message is addressed to: holder or purchaser (see Who gets notified) |
holder_first_name, holder_last_name, holder_email |
The card holder, when known — filled on every event, including those for the purchaser |
shop |
Store domain |
is_test |
true on an event sent from the Send test event button, false on a real one |
Use depleted to branch inside one Flow rather than building two. Likewise, a Flow can filter on audience to word the purchaser's email differently from the card holder's; a Flow with no condition on it runs for both.
The customer profile (email, first name, last name) is attached to the event automatically, so your Flow can match the customer and personalize the message.
5. Send a test event¶
A Flow is easiest to build against an event that is already in your account. Send a test event pushes a sample with every property filled — realistic figures, your store's domain — to a profile of your choosing, so you can see the exact variable names in Klaviyo and preview the message with real-looking values.
It is a link that opens a small form, in two places:
- Settings → Integrations, in the Klaviyo section next to the event names, with a choice of which event to send. It also works with a key you have typed but not saved yet.
- On Reminders and Redemption Notifications, right under the Klaviyo delivery option once it is selected — the event for that notification.
The address to attach the event to is prefilled with your store's contact email; use your own address and the Flow's email lands in your inbox. After sending, open Profiles in Klaviyo, find that profile and look at its activity feed: the event is there with all properties listed — the same ones Event properties shows.
Telling a test apart
The sample carries is_test: true; real events carry false. If your Flow does anything you would not want triggered by a test — a discount code, a tag — add a condition on it. Only the email is attached to the profile, no sample name, so your own Klaviyo profile is not renamed.
The built-in template is not used
When Delivery method is Klaviyo, the Gift Card Hero template for that notification is not sent — the email content is fully controlled by your Klaviyo Flow.
Notes¶
Consent¶
Reminders respect Only customers who accepted marketing at checkout in the reminder settings regardless of delivery method. Keep it enabled to comply with GDPR/CAN-SPAM and to avoid Klaviyo flagging your messages.
Consent and redemption notifications¶
Redemption notifications are transactional — they tell a customer what happened to their own card — so the marketing consent filter does not apply to them.
Fallback¶
If an email channel is selected but not usable — no Klaviyo key saved, the integration disabled, the saved key unusable, or the mail server settings incomplete — Gift Card Hero falls back to sending through its own email, so customers still receive the message.
There is no fallback for SMS: Gift Card Hero has no SMS provider of its own. If the SMS channel is on and the provider has since been removed, the text is logged as Not sent with that reason; the email, if on, still goes.
What is not sent¶
The full, redeemable gift card code is not included in the event (Shopify does not expose it after the card is created). Use card_masked / card_last4 for display, and link customers to your store or account page so they can view and use the card.