- Download the .zip file from your WooCommerce account.
- Go to WordPress Admin > Plugins > Add New.
- Click Upload Plugin at the top.
- Choose File and select the .zip file you downloaded in Step 1.
- Click Install Now.
- Activate the plugin.
Gift Cards requires 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 on your system, or if your server is unable to “talk to itself” (perform loopback requests), Action Scheduler will not work, and gift card code deliveries may fail.
There are two types of gift cards:
Prepaid Gift Cards
Prepaid gift cards are multi-use, stored-value codes that must be purchased by customers before they can be issued. From an accounting perspective, they are usually further classified into single-purpose and multi-purpose gift cards. This influences how the gift card is taxed at purchase, and how it needs to be accounted when it is redeemed.
- Single-purpose gift cards are issued for a specific product or service. They are typically taxed at purchase just like the product they are associated with, and treated like discounts when redeemed.
- Multi-purpose gift cards can be redeemed to purchase multiple products. They are not taxed at purchase. Instead, when a multi-purpose gift card is purchased, the cash received is treated as a liability, which shifts into a sale when the gift card is redeemed. For this reason, tax must be assessed on the products purchased when the gift card is redeemed. Additionally, multi-purpose gift cards are often subject to breakage, which means that they may need to be recorded as revenue if left unredeemed beyond a certain time.
The extension only supports multi-purpose gift cards. If you’re not sure whether you should tax your gift cards at purchase or not, please consult your accounting team. You might be able to use multi-purpose gift cards even if you want to associate them with specific products or services, but please remember that tax compliance is your responsibility as a merchant!
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.
Promotional gift cards are accounted like coupons. Since no payment is received when promotional gift cards are issued, promotional gift cards are treated like discounts when redeemed.
The extension does not support promotional gift cards.
Gift 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.
Gift 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.
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.
E-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 > Email.
- Locate the template you want to edit and click Manage.
- Edit the available text fields.
Every 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 Time 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.
Gift 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.
If you are running a WooCommerce version lower then 4.4, you will find the Gift Cards menu under WooCommerce > Gift Cards.
The following information is available:
- Available Balance
- From (Sender)
- To (Recipient)
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.
Clicking 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.
Creating prepaid gift card codes manually is not possible. Remember that prepaid gift cards are not coupons. While coupons do not require any special handling from an accounting point of view, prepaid gift cards do, as they must be recorded as a liability.
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.
The 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:
|Column Name||Data Type||Example||Description|
||Unique gift card code in
||Thanks for being awesome!||Message to include in the e-mail sent to the gift card recipient.|
||50.00||The issued value of the gift card code.|
||40.00||The current balance of the gift card code.|
||3456||The ID of the order placed by the sender when the gift card was purchased.|
|Order Item ID||
||53453||The ID of the order item created when the sender purchased the gift card.|
||default||Unused at present. Defaults to
||2020-05-01 08:49:07||The creation date of the gift card code.|
||2020-08-01 08:49:07||The scheduled delivery date and time for gift card code, as chosen by the sender.|
||2020-08-01 08:49:07||The date that the gift card code is scheduled to expire.|
||2020-09-01 08:49:07||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.|
|Redeemed by user||
||13||Assuming that the gift card code has been added (redeemed) to a user account, this is the ID of the user.|
||0||The delivery status of the gift card:
||on||Indicates whether the gift card is virtual or physical (unsupported).|
||on||Indicates whether the gift card is active/inactive.|
||–||JSON-encoded gift card code usage data.|
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-digit 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.
The 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.
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.
The plugin allows you to refund gift card funds partially or fully. Refunds to gift cards are processed independently from refunds to payment gateways. 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:
Gift Cards creates a dedicated Gift Cards section under Woocommerce > Analytics. From here, you can view aggregate data for Ιssued, Used and Expired gift cards purchased in your store.
Important: This feature requires WooCommerce 4.8+. Note that the WooCommerce Analytics menu item may not be available on some managed WooCommerce hosting environments.
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.
Gift cards can be purchased like any other product in your store. When purchasing a gift card as a gift, customers must specify:
- One or more recipients.
- The sender’s name, as it will appear to the recipient(s) in the notification e-mail.
- A short message.
- A delivery date.
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, 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.
Once 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.
Logged-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.
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 and 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.
As 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.
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.
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.
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 all 19 digits of any gift card in your store.