Requirements
↑ Back to topThe current version of Gift Cards requires:
- PHP 7.4+.
- WordPress 7.0+.
- WooCommerce 11.1+.
- A WordPress hosting environment that supports background processing through Action Scheduler, the task queuing system built into WooCommerce.
WooCommerce core uses Action Scheduler for many important tasks, such as installing updates. Gift Cards depends on Action Scheduler for processing and e-mailing Gift Card codes to recipients. If WP Cron is disabled without another way to run scheduled tasks, or your server cannot perform loopback requests, scheduled gift card deliveries may be delayed or fail.
Installation
↑ Back to topTo start using a product from WooCommerce.com, you can use the โAdd to storeโ functionality on the order confirmation page or the My subscriptions section in your account.
- Navigate to My subscriptions.
- Find the Add to store button next to the product youโre planning to install.
- Follow the instructions on the screen, and the product will be automatically added to your store.
Alternative options and more information at:
Managing WooCommerce.com subscriptions.
Understanding Gift Card Types
↑ Back to topThere are two types of gift cards: Prepaid and Promotional gift cards.
Prepaid Gift Cards
Prepaid gift cards are stored-value codes that customers purchase and can use more than once until the balance is spent. Gift cards may be classified as single-purpose or multi-purpose, depending on what they can be used to purchase.
- Single-purpose gift cards are issued for a specific product or service.
- Multi-purpose gift cards can be redeemed to purchase multiple products or services.
The extension only supports multi-purpose gift cards. Tax and accounting rules vary by location, so consult a qualified professional about how to sell and account for gift cards in your store.
Promotional Gift Cards
Promotional gift cards are multi-use, stored-value codes that can be issued without receiving any payment from customers. As their name suggests, they are used in marketing campaigns. Usually, they are generated and sent to customers either individually, using automation, or in bulk for use in retargeting campaigns.
Tax and accounting treatment for promotional gift cards may vary by location. Consult a qualified professional about the rules that apply to your store.
The extension does not support promotional gift cards.
Selling Gift Cards
↑ Back to topGift Cards allows you to create and sell prepaid, multi-purpose digital gift cards that customers can use to pay for orders at your store. Customers may purchase gift cards for themselves, or for others.
Use the Send as gift? option under WooCommerce > Settings > Gift Cards to choose whether customers will be able to purchase gift cards for self-use or for others.
Every time you receive an order with a gift card, a unique gift card code of equal value is generated and e-mailed to the specified recipient. The recipient of the code can:
- Use it to pay for orders by entering the code directly at checkout.
- Add it to their account for later use.
For details, refer to Redeeming Gift Cards. Note that from now on, we will refer to the process of adding a gift card to an account as “redeeming“. This process allows a customer with an account on your site to secure a gift card code. Once a gift card code has been redeemed by a customer, its balance is added to the total gift cards balance of the customer. This balance can be used to make purchases without having to enter a code.
Creating Gift Card Products
↑ Back to topGift Cards does not introduce a dedicated product type. Instead, it allows you to use Simple or Variable products as a basis for selling gift cards.
The extension supports Simple and Variable products only. It is also possible to sell gift cards on subscription.
Gift card products are Virtual: You can only use the extension to issue digital gift card tokens. Physical gift cards are not supported yet.
By default, if a gift card product is on sale, the gift card’s value is its regular price, even though the customer pays the sale price. Consult your accounting team before selling gift cards at a discount.
If a gift card product is marked Sold individually, a customer can enter one recipient for that product. To send gift cards to multiple recipients, leave this option disabled.
To create a Simple gift card:
- Go to Products > Add New.
- Choose the Simple product type.
- Enable the Gift Card option.
- In the General tab, enter the price of your gift card.
- Enter a Title and Description.
- Choose a Product Image.
- Save your gift card.
Simple gift cards are limited to a fixed price. If you want to offer multiple price options, you can create a Variable gift card. If you need to let customers choose a custom price when purchasing their gift card, we recommend using Name Your Price.
To create a Variable gift card:
- Go to Products > Add New.
- Choose the Variable product type.
- Enable the Gift Card option.
- Follow this guide to: i) add a Price attribute (and perhaps a Design attribute), and ii) create the variations you need.
Customizing Recipient E-mails
↑ Back to topE-mails sent to gift card recipients follow the standard transactional WooCommerce e-mail format. The extension adds 2 templates:
- Gift card received.
- Self use – gift card received.
Both templates include an image/design element that can be customized per product/variation. To set this image:
- Edit the gift card product you have created.
- Navigate to Product Data > General.
- Choose a Recipient Email Image option.
There are 3 Recipient Email Image options:
- None — Choose this option if you don’t want to include any image/design in “Gift Card Received” e-mails.
- Use Product — Choose this option to include the featured product image in “Gift Card Received” e-mails.
- Upload Custom — Choose this option to specify or upload a custom image/design for “Gift Card Received” e-mails.
To offer multiple gift card designs for different occasions, you have two options:
- Create a separate gift card product for each occasion, and group all of them in a dedicated product category.
- Create a Variable gift card and add a variation attribute that customers can use to select the design of their liking.
In both cases, you can use the product- or variation-level Recipient Email Image option to specify the image/design you wish to display in recipient e-mails.
The extension does not include any custom images/designs, but feel free to get in touch with us for ideas and suggestions.
Start simple, and optimize later. You can adjust your approach as you gather more data and feedback from your customers.
Editing Gift Cards email template text
Gift Cards allows you to edit the default text of both the Gift card received and Self-use – gift card received emails. To do so:
- Navigate to WooCommerce > Settings > Emails.
- Locate the template you want to edit and click Manage.
- Edit the available text fields.

Changing the appearance of emails beyond what the settings above provide, requires either an extension with which to customize emails, or overriding templates via a theme.
Creating Expiring Gift Cards
↑ Back to topEvery time a gift card product is purchased, a unique gift card code of equal value is generated. By default, this code remains valid indefinitely. However, it is possible to issue expiring gift card codes. The extension allows you to choose for how long an issued gift card code should remain valid, counting from its delivery date. This can be configured for each individual gift card:
- Edit the gift card.
- Navigate to Product Data > General.
- Locate the Days to expire option.
- Enter a time period in days.
The extension does not provide functionality for printing gift certificates. Additionally, it cannot generate downloadable vouchers.
Order a gift card on a customer’s behalf
↑ Back to topYou can create an order for a gift card when a customer pays outside the online checkout, such as in a physical store. Check with your accounting team before issuing a prepaid gift card without payment.
- Create a manual order and add a gift card product.
- Select Configure Gift Card on the product line. Enter the recipient and sender, add a message or delivery date if needed, and select Done. To change the details afterward, select Edit Gift Card.
- Adjust the order total to reflect the payment arrangement, save the order, and mark it Completed when appropriate.
By default, the gift card value is based on the product’s regular price. For example, a $50 gift card product can issue a $50 code even when its line item total is set to $0.
Managing Gift Cards
↑ Back to topViewing Gift Card Codes
↑ Back to topGift card codes are created when a customer orders a gift card product. You can view, search, and edit all issued gift card codes in your store from Marketing > Gift Cards.
The following information is available:
- Code
- Available Balance
- Status
- Issued
- From (Sender)
- To (Recipient)
- Redeemed
- Expires

You can search for an issued gift card by code, sender, or recipient. You can also filter gift card codes by date, and further limit results to gift cards that have been redeemed by a specific customer.
Store Managers can only see the last fourย gift card code characters. The full gift card code is visible only to Administrators. Store Managers can stillย search for a code by entering some or all of its characters.
The Status of an issued gift card indicates whether it can be redeemed, or used to pay for orders.
To view and edit individual gift cards click their code.
Editing Gift Card Codes
↑ Back to topClicking a gift card code allows you to inspect its data, and edit some of it. The following fields are editable:
- From — the sender’s name as the sender intended it to appear to the recipient.
- To — the recipient’s e-mail address.
- Message — the sender’s message to the recipient.
- Delivery date
- Expiration date

From this page, you may also:
- Send the recipient notification.
- Activate or deactivate the gift card code to prevent customers from redeeming or using it.
- Redeem the gift card code for a customer to add it to their account.
You can create gift card codes with a CSV import. Prepaid gift cards are different from coupons; consult your accounting team about how to record them.
Newly issued gift card codes are inactive. They are automatically activated when they are sent to the recipient. Manually activating a gift card code ahead of its delivery date does not send the recipient e-mail.
Redeem a gift card for a customer
You can add an eligible gift card to a customer’s account or assign it to a different customer from its edit screen:
- Go to Marketing > Gift Cards and select the gift card code.
- In Redeem for customer, search for and select the customer.
- Select Redeem.
The gift card must be active, unexpired, and have funds available or on hold. If redemption fails, check the notice shown on the page.
Importing/Exporting Gift Card Codes
↑ Back to topThe plugin allows you to import and export gift card codes using the CSV file format.
Exporting Gift Card Codes
To Export your gift card codes:
- Navigate to Marketing > Gift Cards.
- Click the Export button at the top.
- If you are searching for gift card codes by date or customer, and only want to export the filtered results, tick the Apply current filters option in the modal that appears and then click the Download CSV button.
- Alternatively, if you would like to export all gift card codes in your store, click the Download CSV button.
CSV files contain the following columns:
- Code โ Unique gift card code in
XXXX-XXXX-XXXX-XXXXformat. Type:string. Example:J634-XH8J-JVCC-KC88. - Recipient โ Recipient email. Type:
string/email. Example:recipient@example.com. - Sender โ Sender name. Type:
string. Example:Terry Jeffords. - Sender E-mail โ Sender email. Type:
string/email. Example:sender@example.com. - Message โ Message to include in the e-mail sent to the gift card recipient. Type:
string. Example: Thanks for being awesome! - Issued Value โ The issued value of the gift card code. Type:
float. Example: 50.00. - Balance โ The current balance of the gift card code. Type:
float. Example: 40.00. - Order ID โ The ID of the order placed by the sender when the gift card was purchased. Type:
int. Example: 3456. - Order Item ID โ The ID of the order item created when the sender purchased the gift card. Type:
int. Example: 53453. - Template ID โ Unused at present. Defaults to
default. Type:string. Example: default. - Create date โ The creation date of the gift card code. Type:
date(ISO). Example: 2020-05-01 08:49:07. - Delivery date โ The scheduled delivery date and time for gift card code, as chosen by the sender. Type:
date(ISO). Example: 2020-08-01 08:49:07. - Expiration date โ The date that the gift card code is scheduled to expire. Type:
date(ISO). Example: 2020-08-01 08:49:07. - Redeemed date โ Assuming that the gift card code has been added (redeemed) to a user account, this is the date/time when the gift card code was added to the user’s account. Type:
date(ISO). Example: 2020-09-01 08:49:07. - Redeemed by user โ Assuming that the gift card code has been added (redeemed) to a user account, this is the ID of the user. Type:
int. Example: 13. - Delivered โ The delivery status of the gift card:
no= undelivered,0= delivered by the system,int= delivery forced by a store manager. Type:no|0|int. Example: 0. - Virtual โ Indicates whether the gift card is virtual or physical (unsupported). Type:
on|off. Example: on. - Status โ Indicates whether the gift card is active/inactive. Type:
on|off. Example: on. - Activities โ JSON-encoded gift card code usage data. Type:
array(JSON-encoded).
Importing Gift Card Codes
The provided Importer can be used to:
- import existing gift card codes created with the Gift Cards extension; or to
- create new gift card codes in bulk.
The importer cannot be used to sync gift card codes between two WooCommerce sites. It is not possible to update existing gift card codes by importing their data using CSV files.
For security reasons, Gift Cards only supports its own 19-character code format (XXXX-XXXX-XXXX-XXXX).
When using the Import function to create new gift card codes:
- Make sure that your CSV file contains at least the following columns: Code, Recipient, Sender, and Balance.
- Add valid values to all columns. You can leave the Code field empty to let the plugin generate a random code during the import process.
- Use the Delivery date column to e-mail the created codes to their recipients. When setting the Delivery date field, make sure that the specified date and time are ahead of your store’s date and time by at least a few minutes.
Note that it is not possible to import gift card codes that follow a different format (for example, codes created with other plugins). One possible workaround is to create new codes, and notify existing gift card holders that their old codes have changed. To do this:
- Leave the Code field empty to let the plugin generate a random code during the import process.
- Use the Delivery date field to have the new codes e-mailed to existing gift card holders.
- Use the Message field to inform them about the code change. It is a good idea to include the old code in this message.
Viewing Gift Card Activity
↑ Back to topThe extension records all gift card activity and transactions and makes this information available to store managers under Marketing > Gift Cards > Activity. An event is logged when:
- A gift card code is issued.
- A gift card code is redeemed.
- A gift card’s balance is used to pay for an order.
- A gift card’s balance is refunded via an order.
The information is organized in the following columns:
- Gift Card Code
- Customer — the customer who purchased the gift card, or the customer who placed the order using the specified gift card code.
- Event Type — issue, credit, or debit.
- Amount
- Date
You can search for events/transactions by gift card code, or customer. You can also filter gift card codes by date, and further limit results to events that involve a specific customer.
Refunding Gift Cards
↑ Back to topThe plugin allows you to refund gift card funds partially or fully. Refunds to gift cards are processed independently from refunds to payment gateways. This restores funds captured from an existing gift card; it does not issue a new gift card for an order paid by another method. To refund gift card funds that have been captured in a paid order:
- Navigate to WooCommerce > Orders.
- Locate and edit an order that has been paid (partially or fully) using gift cards.
- Locate and click the โRefundโ button under the order summary.
- Specify the product(s) to be refunded, or choose a custom refund amount. Note: The amount to be refunded back to the applied gift card(s) cannot exceed the “Total available to refund to gift cards”.
- Add a refund reason, if desired.
- Click on โRefund $XX.XX to gift cardsโ.

To fully refund an order that has been partially paid using gift cards, remember that you will need to take two actions: One to refund the amount paid using gift cards, and another to refund the amount paid using the payment gateway. Alternatively, if your payment gateway supports automatic refunds, a similar result can be obtained by changing the order status to Refunded.
Upon processing a gift cards refund, a new order item is added to the order to record the event:

Viewing Analytics
↑ Back to topGift card revenue reporting
↑ Back to topFor a gift card purchase with no tax, the Revenue report includes the purchase in gross sales but excludes it from net sales. When a customer uses a gift card to pay for an order, Gift Cards adds the amount applied to total and net sales in WooCommerce Analytics. Check your accounting and tax treatment with a qualified professional for your location.
Go to Analytics > Gift Cards to view the Used, Issued, and Expired reports. Learn more about WooCommerce Analytics.
The Analytics > Gift Cards > Used report can be used to generate the following metrics for any chosen period:
- Number of Used Gift Cards.
- Total Credited Amount.
- Total Debited Amount.
- Total Net Amount.
The Analytics > Gift Cards > Issued and the Analytics > Gift Cards > Expired reports can be used to generate:
- The total number of Issued/Expired Gift Cards in any given period.
- The corresponding Issued/Expired Amount.
The reports enable you to navigate to an individual gift card’s details by clicking its code.
Purchasing Gift Cards
↑ Back to topGift cards can be purchased like any other product in your store. When purchasing a gift card as a gift, customers provide:
- One or more recipients.
- The sender’s name, as it will appear to the recipient(s) in the notification e-mail.
- An optional message.
- An optional future delivery date. Leave it blank for delivery after the order is paid.
When a customer enters multiple recipients, Gift Cards creates a separate code for each recipient after the order is paid. Each recipient receives their own email.
Customers cannot use a gift card or their gift card balance to purchase gift card products.
A unique gift card code is generated once an order that contains a gift card product has been paid. Depending on the specified delivery date, the code will be e-mailed to the specified recipient(s):
- Within a few minutes, if the gift card was purchased for immediate delivery.
- On the specified date, at roughly the same time, if the gift card was purchased for delivery at a future date.
By default, a scheduled gift card is delivered on the selected date at approximately the time the product was added to the cart. The date uses the customer’s time zone, so the sender should consider any time difference with the recipient.
By default, the date picker displayed in the gift card product form is synchronized with the time zone of the customer. This makes it more intuitive for customers to schedule gift card deliveries.
When purchasing a gift card for themselves, customers do not need to provide any delivery details. As soon as the order is paid, the generated gift card code will be sent to the billing email address specified by the customer during checkout.
Redeeming Gift Cards
↑ Back to topOnce a gift card code has been generated, anyone with access to it can:
- Use the code to pay for orders by entering the code directly at checkout.
- Redeem the gift card by adding it to their account for later use.
When a gift card code is redeemed by a customer, its balance is added to the total gift cards balance of their account. This process allows customers to make purchases without having to remember or enter codes at checkout, provided they are logged in.
From their Account page, customers can view their:
- Total gift cards balance.
- Redeemed gift cards that are still active.
- History of gift card transactions.

Paying with Gift Cards
↑ Back to topLogged-in customers can use their gift cards account balance to pay for orders by ticking the “Use $XX.XX from your Gift Cards balance” checkbox on the cart/checkout page.
It is also possible to pay with unredeemed gift card codes by entering them directly in the cart/checkout form provided for this purpose. Unredeemed gift card codes can be used like this multiple times by different customers with access to a gift card code.
Redeeming a gift card code allows a customer with an account on your site to secure it, effectively preventing other customers from using it to pay at your store.

When a gift card is applied, the order total reflects the amount still due. Other plugins that use the order total may need a Gift Cards integration to recognize the gift card payment.
Apply a gift card to an editable order
To apply a gift card to a manually created order, add the products, calculate the totals, and save the order. While the order is editable, select Apply gift card and enter the code. The order must have a total greater than zero.
Gift Cards applies up to the order total or the available card balance, whichever is less. You cannot choose a smaller amount when applying the code. If you change the order items, remove the gift card, recalculate the totals, and apply it again.
Gift Cards and Pending Orders
Some payment gateways, like PayPal Standard, require customers to enter their payment details on an external page in order to complete their order. In this scenario, any gift card funds used for partial order payment are captured when customers click the Place Order button to prevent fraud. These funds are held until the order is:
- Paid via the standard checkout flow, or via My Account > Orders.
- Cancelled via My Account > Orders.
- Completed or cancelled manually by a store manager.
When logged-in customers or guests attempt to use a gift card (or gift cards account balance) that contains funds on hold, the plugin prompts them to take action in order to release those funds. The plugin adds similar visual cues under My Account > Gift Cards.
Configuring Settings
↑ Back to topAs soon as the plugin is activated on your system, a new Gift Cards tab will appear under WooCommerce > Settings.
On this page you can view and configure the following settings:
Send as gift?
Choose Always to require customers to specify a recipient when purchasing a gift card, Let customers decide to optionally allow customers to specify a recipient, or Never to have gift cards sent to the billing email provided on the checkout page.
Enable Account Features
Enable this option to allow customers with an account to store gift card codes in their account. The aggregated balance of these “redeemed” gift cards can be used to pay for orders without entering the gift card codes manually.
Account redemption is a store-wide setting. Gift Cards does not provide an option to prevent individual codes from being added to customer accounts.
Enable Cart Page Features
By default, customers can enter their gift card codes and/or opt to use their account balance on the checkout page. This option allows you to display the “Have a gift card?” form and “Use $XX.XX from your Gift Cards balance” checkbox on the cart page.
Block Gift Card Discounts
Enable this option to:
- Prevent Percentage discount and Fixed product discount coupons from being applied to gift card products in the cart.
- Reject Fixed cart discount coupons while purchasing gift cards.
CC
Enable this option to include an optional “CC” field in gift card purchase forms. Any email addresses entered in this field will receive a copy of the “Gift card received” email, in addition to the recipient(s) specified in the “To” field.
BCC
The email addresses entered in this field will receive blind carbon copies of all “Gift card received” and “Self-use gift card received” emails. Use with caution: Every gift card code issued in your store will be privately copied to these emails.
Grant Admin Privileges to Shop Managers
By default, users with the Shop Manager role can only see the last 4 characters of gift card codes. Enable this option to allow Shop Managers to view the complete code for any gift card in your store.
Expiration reminders
Enable this option to send expiration reminders via e-mail to gift card recipients.
Days before expiration
This controls how many days before expiration that you want a reminder sent.
Change Gift Cards text
↑ Back to topTo change text supplied by the Gift Cards extension, you can use a translation plugin such as Loco Translate. Select Gift Cards under Loco Translate > Plugins and use the Custom location so plugin updates do not overwrite your changes. For more details, see Translating WooCommerce Extensions.
Questions and support
↑ Back to topSomething missing from this documentation? Still have questions and need assistance?
- If you have a question about a specific extension or theme youโd like to purchase, contact us to get answers.
- If you already purchased this product and need some assistance, get in touch with a Happiness Engineer via our support page and select this product’s name from the Product dropdown.
