Installation ↑ Back to top
- 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.
Requirements ↑ Back to top
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.
Understanding Gift Card Types ↑ Back to top
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 yet.
Selling Gift Cards ↑ Back to top
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.
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 redeeming as “the process of adding a gift card to an account”. 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 top
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.
Customizing Recipient E-mails ↑ Back to top
E-mails sent to gift card recipients follow the standard transactional WooCommerce e-mail format. The template added by the extension is called Gift Card Received and includes 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.
As always, it’s a good idea to avoid overcomplicating things to begin with. You can adjust your approach as you gather more data and feedback from your customers. Start simple, and optimize later!
Creating Expiring Gift Cards ↑ Back to top
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 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.
Managing Gift Cards ↑ Back to top
Viewing Gift Card Codes ↑ Back to top
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
- Date Issued
- From (Sender)
- To (Recipient)
- Redeemed By
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. A gift card will be listed as inactive if:
- It is scheduled for delivery at a later date.
- It has expired.
- It has been disabled manually.
You can view and edit individual gift cards by clicking their code.
Editing Gift Card Codes ↑ Back to top
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.
- Enable or disable 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 deactivated. 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.
Importing/Exporting Gift Card Codes ↑ Back to top
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.
Viewing Gift Card Activity ↑ Back to top
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.
Viewing Gift Card Reports ↑ Back to top
Store managers can use reports to track:
- Issued gift cards balance.
- Expired gift cards balance.
- Used gift cards balance.
These reports can be generated from WooCommerce > Reports > Gift Cards.
Purchasing Gift Cards ↑ Back to top
Gift cards can be purchased like any other product in your store. When purchasing a gift card, 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.
When the order is placed, a unique gift card code is generated. 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. If you prefer to keep the date picker synchronized with your store’s time zone, please get in touch with us.
Redeeming Gift Cards ↑ Back to top
Once a gift card code is generated, anyone with access to its code 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.
The extension refers to redeeming as “the process of adding a gift card to an account”. This process allows a customer with an account on your site to secure a gift card code, effectively preventing other customers from using it to pay at your store.
Once a gift card code has been 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 top
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.
Gift Cards and Pending Orders
Some payment gateways, like PayPal Standard, require customers to enter their payment details in 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.
Configuring Settings ↑ Back to top
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:
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.
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.