Gravity Forms eCommerce Tutorial | The Comprehensive Guide
A comprehensive guide to Gravity Forms eCommerce and the addons, snippets and tutorials you need to amplify your eCommerce store using Gravity Forms.
- Gravity Forms eCommerce Tutorial | The Comprehensive Guide
- 1. What Is Gravity Forms?
- 2. Why Gravity Forms eCommerce?
- 3. Where Gravity Forms eCommerce Shines
- 4. Where Gravity Forms eCommerce Is Limited
- 5. Gravity Forms eCommerce Settings
- 6. Introduction to Gravity Forms Pricing Fields
- 7. Collecting Payments with Gravity Forms
- 9. Purchase Preview before Submission
- 10. Confirmation and Notifications
- 11. Awesome Gravity Forms eCommerce Extensions
- 11.1 Rush Pricing, Bulk Pricing, Early Bird Pricing
- 11.2. Gravity Forms CRM Addons
- 11.3 Gravity Forms Accounting Integration
- 11.4 Zapier and Webhooks Gravity Forms Addon
- 11.5 Membership Sites with Protected Content using Gravity Forms
- 11.6 Event based ticket sales and registration.
- 11.7 Date Based Products and Services
- 11.8 Pay Per Word Functionality
- 12 Conclusions on Gravity Forms eCommerce
- Wizardly Updates
Gravity Forms eCommerce Tutorial | The Comprehensive Guide
Gravity Forms is by far the most powerful forms add-on for WordPress. As such, it comes as no surprise that it can serve as a basic eCommerce solution as well. In this comprehensive guide we will go over how you can use Gravity Forms for eCommerce, a variety of standard and third party add-ons that will allow you to amplify your eCommerce store and a number of additional resources for specific eCommerce related functionality. Let’s get started!
1. What Is Gravity Forms?
Gravity Forms is a paid WordPress add-on that provides a powerful forms integration with WordPress and allows for the creation of complex forms combined with the power of a simple drag and drop editor. While there are many other free and paid form add-ons out there, Gravity Forms is by far the most powerful and thus warrants the cost. The saying, “You get what you pay for” comes to mind.
What you can do with this plugin is simply astounding and continues to blow us away at Gravity Wiz, and that’s saying a lot because we work with Gravity Forms all the time!
Gravity Forms can be purchased at gravityforms.com and is required to implement the functionality highlighted in this article on your website.
2. Why Gravity Forms eCommerce?
So we’ll first say that Gravity Forms is not meant to be a replacement for a full shopping cart solution such as WooCommerce, however, it can certainly provide basic to intermediate level eCommerce functionality if you find that a full shopping cart add-on is going to be overkill for your project. It all depends on the specific scope of the project.
3. Where Gravity Forms eCommerce Shines
Some examples of sites that need eCommerce functionality that can benefit from Gravity Forms eCommerce include:
- Accepting online donations
- Setting up payment collection forms
- Event based ticket sales and registration
- Service industry payments
- Products or services that require filling out a form before making a payment
- If you only have a few products that you want to sell on the site, even if those products have different options
- Pay per word functionality
4. Where Gravity Forms eCommerce Is Limited
- Robust inventory management (Gravity Forms Inventory can help here).
- Order management and tracking
- Order Confirmation and Notification
- Robust shipping options
While a full eCommerce cart solution such as WooCommerce is optimal for robust inventory based solutions, Gravity Wiz has two reliable solutions for inventory management:
4.1 Robust inventory management
Gravity Forms Limit Choices is a paid add-on for managing choice-based inventory. This add-on provides the ability to limit per choice on your multi-choice field (e.g. Radio Buttons, Checkboxes, Drop Downs, etc). It works with Product and Option fields with these input types as well.
Gravity Forms Inventory is a plugin that provides easy, flexible inventory management for Gravity Forms including simple inventory, choice-based inventory, shared inventory, and scoped inventory.
4.2 Order management and tracking
When it comes to order creation and tracking a full eCommerce cart solution is probably going to give you a more comprehensive system, however, Gravity Forms supports tracking the payment status of an entry and fire feed based add-ons only when the payment is completed.
4.3 Order Confirmation and Notifications
WooCommerce comes equipped with a pretty robust confirmation and notifications system, however, Gravity Forms also comes equipped with Confirmations and Notifications, both of which can be extended quite nicely with Gravity Wiz add-ons. Read More
4.4 Robust shipping options
Gravity Forms comes with a simple Shipping field. It’s barebones but gets the job done in most cases. There are additional options available to enhance Gravity Forms’ shipping support as well. Read More
5. Gravity Forms eCommerce Settings
There aren’t a great deal of settings when using Gravity Forms as eCommerce, however, there are some key settings to be aware of.
5.1 Payment Options
Gravity Forms provides add-ons for Stripe, PayPal, Square, Mollie, and 2Checkout. Regardless of which option you use, you will find the API settings for the payment processor in the Gravity Forms General Settings Area.
Setting up any of the payment processor options is fairly easy and typically just requires an API key pair and setting up a webhook URL in the payment gateway account.
We cover all of this in more detail in the payments section of this article.
5.2 Currency
Currency is a simple dropdown in the General Settings where you can choose your currency preference for your forms.
Here are some simple tutorials that allow you make some common improvements to the default currency setup with Gravity Forms.
- How do I move the currency symbol from the right to the left for Gravity Forms
- How to add three decimals with Gravity Forms currencies
6. Introduction to Gravity Forms Pricing Fields
Now that we have the settings covered, let’s move into the Gravity Forms pricing fields. This is where the power of using Gravity Forms as an eCommerce solution really starts to shine!
6.1 Product Field
The product field allows you to setup your form based products. This field provides support for a variety of product types including:
- Single Product
- Drop Down Product
- Radio Button Product
- User Defined Price (see GF Price Range)
- Hidden
- Calculation
- Checkbox Products
6.1.1 Gravity Forms Checkbox Products
Looking for Checkbox Products? The following article details a method for setting up Checkbox Products with Gravity Forms.
6.1.2 Gravity Forms Conditional Pricing
Need a way to determine the price of a product conditionally? The Gravity Forms Conditional Pricing add-on allows you to create flexible and powerful pricing levels for your Gravity Form Product fields.
6.1.3 Gravity Forms Price Range
The Gravity Forms Price Range add-on provides a way to specify minimum and maximum price ranges when using the User Defined Price product type.
6.2 Quantity Field
The Single Product Field type comes with a built-in quantity input. This can be disabled via the “Disable quantity field” field setting which will default the quantity of this product to one. Other product types do not have a built-in quantity input and will default to a quantity of one.
The quantity of any Product field can be linked to a Quantity field which will override the built-in quantity input and/or the default quantity.
6.2.1 Rounding By Increments with Gravity Forms
If you would like to require users to order in specific increments, our rounding by increments with Gravity Forms snippet will help. For example, if you sold lumber in bundles of 100, and the user entered 195, this snippet would automatically round the quantity to 200 (the nearest increment of 100).
This snippet also supports setting quantity minimums, maximums and more!
6.3 Option Field
This field allows you to associate various options with a Product field. Options can add an additional price to the product or simply indicate a selection tied to the product such as size or color. You can associate as many option fields to a product as needed.
6.4 Shipping Field
The Shipping field comes with three options: Single Method, if there is a simple flat rate for shipping, or Drop Down and Radio Buttons, to allow customers to choose between various shipping options.
When combined with the Gravity Forms eCommerce Fields add-on, the shipping value is not included in the subtotal, discounts or coupons. The shipping charge is always included in Tax fields and the form total.
6.4.1 Conditional Shipping By Form Total
Should you need it, there is also a method for setting up conditional shipping by the form total.
6.4.2 Calculated Shipping
A simple method for using a calculated product field as a shipping field. This provides the ability to use calculations when determining a shipping price. Download the snippet here
6.5 Tax Field (via Gravity Forms eCommerce Fields)
The Gravity Forms Tax Field allows you to add a preconfigured tax to your Gravity Form.
The Tax Field supports percentage values only. You can apply the tax to all products, specific products or all products except one(s) selected. You can also add multiple Tax Fields to a form.
Here is a sweet How-to article that highlights how to calculate Tax or VAT with Gravity Forms.
6.6 Discounts Field (via Gravity Forms eCommerce Fields)
The Gravity Forms Discount field applies a flat or percentage discount to the total or specific products. You can also use Gravity Forms conditional logic to only apply the discount when certain conditions are met.
This How-to article covers everything you need to know on how to apply discounts to your Gravity Form.
6.7 Coupons Field (via Gravity Forms Coupons Add-on)
Just like it sounds, this add-ons provides support for applying coupon codes to your form total, a very important feature for any eCommerce store. The coupon field does not apply to specific product fields and it can also be used with conditional logic to show or hide other fields based on the coupon code.
When combined with the Gravity Forms eCommerce Fields add-on, Coupons reduce the amount subject to the Tax and coupons will automatically exclude shipping. Coupons will also not influence the value of Subtotal or Discount fields.
6.7.1 Create Coupons for Gravity Forms Coupons with a Gravity Form
By default, you can create a coupon in the WordPress Admin area. However, suppose you were looking for a way to provide a compelling incentive for visitors to sign up for your newsletter? Why not offer them a coupon code for a small discount at your shop?
This article highlights how to create coupons for the Gravity Form Coupons Add-on with Gravity Forms on the front end of your website.
Try QR codes for coupons, products or events!
Gravity Forms QR Code can help you bridge the physical and digital world. Generate QR codes from Gravity Forms field values, or scan QR codes to insert values into Gravity Forms fields. For example, create scannable coupon codes and discount links, sell tickets to events or check-in attendees, or, create QR codes for your product SKUs that staff can interact with. Learn more about Gravity Forms QR Code.
6.8 Subtotal Field (via Gravity Forms eCommerce Fields)
The Subtotal field helps your customers better understand their orders by showing them a subtotal before shipping, coupons and taxes have been applied.
As the customer selects products and options, the subtotal automatically updates.
6.9 Total Field
The Total field allows you to display a form total in your form. As the user selects products and options the total will automatically update.
7. Collecting Payments with Gravity Forms
Before we get started, it’s important to note that Gravity Forms Payment Add-ons are available with the Pro license with the exception of 2Checkout which is available with the Elite license. All payment gateways are available with the Nonprofit license.
Once you connect your account to Gravity Forms, you will need to setup a feed in the form itself.
Gravity Forms provides solid documentation on setting up each of these payment add-ons:
- Setting up the Stripe Add-on (Pro)
- Setting up the PayPal Checkout Add-on (Pro)
- Setting up the Square Add-on (Pro)
- Setting up the Mollie Add-on (Pro)
- Setting up the 2Checkout Add-on (Elite)
8. Generating Unique Order Numbers
A key feature of any eCommerce solution is an order. Gravity Forms collects all data submitted in the form as an entry and each entry will have an entry ID, however, this number is rather simple and generic. Using the Gravity Forms Unique ID addon we can generate much better order numbers. The Unique ID addon provides a new “Unique ID” field type which generates a unique ID for the entry when submitted. It supports several types of unique IDs including alphanumeric, numeric, and sequential.
Gravity Forms Unique ID also opens up other possibilities such as using the generated reference number as a way to validate a purchase and provide access to other Gravity Forms on your website. This article covers how to generate and validate a reference number for Gravity Forms with Gravity Forms Unique ID.
9. Purchase Preview before Submission
It’s always better to get it right the first time. When there is money involved, it’s even more important. With the Gravity Forms Preview Submission addon, you can generate a good review before purchase.
Gravity Forms Preview Submissions is an easy solution to provide an overview of the order and all information that has been collected in the form prior to a customer making the purchase. This can be helpful to both customers and store administrators as errors can be caught before the purchase is made reducing overall administrative time dealing with order related issues.
10. Confirmation and Notifications
Gravity Forms comes equipped and ready to handle payment confirmations as well as email notifications to both the store owner and customer regarding the purchase.
By default, Gravity Forms Confirmations are very useful to either display a simple message to the customer that their order was successful or redirect a customer to another more robust confirmation page.
For more specific information on this, check out the Gravity Forms documentation on configuring confirmations and configuring notifications.
10.1 Personalized Confirmation Pages
If you want to take the confirmation page a bit farther, you can use the Gravity Forms Post Content Merge Tags addon which allows you to add Gravity Forms merge tags directly in your WordPress post content. This allows you to use a single confirmation page for multiple forms, better style and layout your confirmation pages, and generate persistent confirmation pages.
For a comprehensive guide on this, check out this article on how to create personalized confirmation pages.
11. Awesome Gravity Forms eCommerce Extensions
11.1 Rush Pricing, Bulk Pricing, Early Bird Pricing
If you have been in the eCommerce world for any amount of time, you will know the importance of Rush Pricing, Bulk Pricing and Early Bird Pricing. There are solutions to all three of these necessities with Gravity Forms!
11.1.1 Rush Pricing
Would you like to charge a little extra if the user selects a delivery date that is within a certain time frame of the current date or a specific date in the future? Check out how to setup rush pricing with Gravity Forms.
11.1.2 Bulk Pricing
Do you need to offer your customers discounted rates when they buy in bulk so that the more they order, the lower the price? Learn how to setup bulk pricing with Gravity Forms.
Do you need a way to calculate how much of a product is being ordered and dynamically set the unit price based on the calculated value. Check out this article on how to setup bulk pricing with calculated unit for Gravity Forms. This is useful for dimension-based calculations like square footage and volume.
11.1.3 Early Bird Pricing
Are you looking for a way to discount your Gravity Form products if your form is completed before a certain date or specific amount of time before today’s date? This article covers how to setup early bird pricing with Gravity Forms.
11.1.4 Seasonal and Recurring Pricing
Do you want to discount a product that is purchased at a certain time of year or charge late fees for purchases made after a certain date? This article details how to conditionally adjust pricing based on a recurring date.
11.1.5 Time Sensitive Discounts
Combining Gravity Forms Conditional Logic Dates and Gravity Forms eCommerce Fields opens up the possibility for time-sensitive discounts or time-based pricing in general.
11.2. Gravity Forms CRM Addons
A CRM (Customer relationship management) is an important aspect of any business and especially an eCommerce business. Once you have a new customer, you know they are interested in your products or services. From that point on, you should do everything you can to improve their experience working with you. While Gravity Forms itself can server a very fundamental CRM, there are many much more robust solutions that integrate with Gravity Forms directly!
Check out all of the available CRM integration in the Gravity Forms Directory.
11.3 Gravity Forms Accounting Integration
While not incredibly robust, there are a number of accounting integrations for Gravity Forms as well. You can review the available accounting integrations in the Gravity Forms Directory.
11.4 Zapier and Webhooks Gravity Forms Addon
Both the Zapier and Webhooks addons allow for endless 3rd party integrations with Gravity Forms.
Zapier is an app that allows you to connect online apps with each other and provides thousands of such connections. This addon is worth mentioning specifically here due to its ability to connect Gravity Forms to many other apps. There are over 100 integrations possible right now between Gravity Forms and other services! View available Gravity Forms zaps here.
The Webhooks Gravity Forms addon provides the ability to integrate with many services not covered by Zapier as well as REST API endpoints added by other WordPress plugins.
These two addons combined provide almost limitless options for Gravity Forms!
11.5 Membership Sites with Protected Content using Gravity Forms
Gravity Forms can also be used in conjunction with the Members plugin and the User Registration addon to provide a basic membership site with the ability to restrict content and setup one time payments or even subscription payments for continual access to content.
View this article for a full guide on how to setup a basic WordPress membership site with protected content using Gravity Forms.
11.6 Event based ticket sales and registration.
Gravity Wiz has two solid solutions to collect event based payments such as ticket sales or registration and also provides additional solutions for more specific functionality requirements related to this.
The two solutions are Gravity Forms Limit Choices and Gravity Forms Better Inventory. Both of these powerful addons provide support for setting up inventory solutions for an event. Which one you go with really just comes down to your specific needs. You can review in depth documentation on both by clicking the buttons below!
11.6.1 Registering Multiple users at one time for an event
Do you need the ability to register multiple users then charge them in a single submission? This is possible by combining the power of Gravity Forms Better Inventory with Gravity Forms Nested Forms.
11.7 Date Based Products and Services
Using Gravity Forms Limit Dates, a gravity forms addon that gives you the ability to limit which days are selectable for your Gravity Forms Date Picker fields, you can add support for booking date-based products/services to any form.
11.8 Pay Per Word Functionality
Using Gravity Forms Pay Per Word, you can easily create product fields which calculate a total based on the number of words in a Paragraph or Post Body field of a Gravity Form.
11.9 Dynamic Product via Post Meta
Have you ever needed a way to use a single Gravity Form to handle payment for multiple products across multiple pages? There is a very easy method for this with Gravity Forms. Combining the power of Gravity Forms Merge Tags with WordPress Custom Fields there is a way to dynamically populate the Gravity Form with the appropriate data from any page. Check out this article on Dynamic Products via Post Meta for a breakdown!
12 Conclusions on Gravity Forms eCommerce
In this guide we covered everything you need to know to build a Gravity Forms eCommerce solution. From general overview to technical tips to addon and snippet recommendations, there is quite a lot here! Did we miss anything? If so, we definitely want to hear about it!
Gravity Forms and Gravity Wiz are always expanding though so we’ll make sure to keep this article up to date on new developments as they arise. If you want to stay updated on the latest news about Gravity Forms eCommerce, Gravity Perks and Gravity Wiz in general, then subscribe to our newsletter right now!
Wizardly Updates
Get the latest Gravity Wiz wizardry by owl or email.
I’m trying to figure out how to provide the “cart” type feature where people can select multiple items and add them to their “cart” and then checkout all at once based on all the items they’ve selected. Is that possible?
Hi Jason,
Your best bet for that is WooCommerce. It lets you add multiple products to a cart and then checkout. You can even use Gravity Forms inside your WooCommerce products with Gravity Shop Product Configurator.
That’s sad. I feel like WooCommerce is overkill on many occasions.
I’d like to use this to sell digital downloads. How do you recommend I set up the delivery of the product?
Hi Deborah,
We’re big fans of Easy Digital Downloads. It’s actually what we use to deliver Gravity Perks!
I am running into an issue with the subtotal form on Gravity Forms v2.5.5.3 where niether the subtotal or the total field will update, but the products do display in the {order_summary} merge tag.
The browser console does display an error. “TypeError: undefined is not an object (evaluating ‘e.length’).”
I can’t seem to figure out what exactly is causing this issue. Has anyone else run into this?
Hi Michael,
This looks like something that will require some troubleshooting. I’ll suggest you start by ensuring you’re using the latest versions of all the Perks, and if that doesn’t resolve the issue, you may want to run a Theme/plugin conflict test to check if this is a conflict-related issue and hopefully narrow it down to the offending plugin. However, if you have a Gravity Perks license, you can get in touch with us via our support form, so we can assist you further.
Best,
Trying to understand your GF One-Time Fee option for the PayPal add-on. I have a scenario where a customer may have paid a deposit that they then want to apply when they place an order. Easy enough if they are making a one-time payment. But in some cases, they are signing up for a subscription. I could create all subscription options with and without the deposit amount — making the form much more complicated. Instead, I’m wondering if your Perk for one-time fee would allow a negative amount for the one-time fee, thus allowing me to apply their discount to their first payment of their subscription. Does the Perk work this way currently?
Hi Tim,
PayPal One-time Fee has actually been deprecated. Its features are built-in to Gravity Forms’ PayPal Payments Pro Add-On.
That said, you can use eCommerce Fields with this snippet to collect a deposit. The snippet will convert a Product field to a Discount field on the Order Summary. Combined with Conditional Logic in the PayPal Add-On, and you can use a single form for collecting the deposit or the full payment.
Hey Ryan,
Thanks for the comprehensive article! Can you help with one thing?
I’m selling a service (one time fee), and want to use PayPal with Gravity Forms.
The issue I’m having- someone can fill out the gravity form, which redirects them to Paypal… but if they don’t complete the paypal transaction, the info still logs within GF as a customer.
So unless I match up each new GF entry with an actual Paypal transaction, I don’t know who actually are paying customers vs. just filled out the form.
Does this make sense? Is there a way for GF to validate that a Paypal transaction occurred?
Thanks! Dave
Hello Dave, This is an excellent question. What payment gateway addon are you currently using? With PayPal Standard add-on, the data is always collected first and then sent to PayPal to collect payment. If you want the money before the information, you can use one of the Gravity Forms payment add-ons that collect payment via credit card on your site: Authorize.Net 1, PayPal Pro, or Stripe.
Hey Ryan,
I’m fine to just use Paypal (Pro), and it’s not critical which comes first (payment or form submission), but what IS important is that each form submission can be matched with a transaction.
Otherwise I have no way to know if they are a customer or not.
What do you think?
Hey Dave, that actually sounds like a perfect plan as PayPal Pro will allow you to do just that. The PayPal link should resolve within the entry and you will have the ability to wait for process. If you need a solution for a unique identifier within the form itself, we do have a perk called Unique ID that could be generated once PayPal Standard has captured the payment. This delay is enabled via the gpui_wait_for_payment filter.😃
HI
I wish you could enable GA Enhanced Ecommerce Tracking for Gravity Forms.
Hello Farokh, what kind of information are you hoping to track with the Google Analytics plugin? Are you just hoping to add the tracking in general? Let us know! 😀
Ryan
I use Gravity forms to process my orders and collect payments.
I need to have the GA Enhanced Ecommerce code (not the normal GA, I already have that on my site) installed on my form page and my confirmation page, so that I understand where my customers come from.
I need to know if my paying customers are coming through google search, or my online advertising. I need to know how effective my advertising is.
We don’t have a ready solution for this, but I’m making a note. The more often a feature or Perk is requested, the more likely we are to pursue it.
Scott
This would set you apart from others. Most analytics plugins offer GA Enhanced Ecommerce for woocommerce an EDD but not for gravity forms.
Only Gravity Plus has a plugin for enhanced ecommerce for gravity forms, but it is incomplete and does not work effectively
Thanks for the feedback, Farokh. We’re going to continue monitoring the demand for such a feature. It’d be a powerful feature!
I’m trying to create a form for booking a cleaning service appointment. I’ve been messing with Gappointments to give me the calendar and multiple bookings/available bookings functionality.
My issue is that the Product fields I use to calculate a shown Total to the client, when fully submitted, aren’t actually placing an order within woocommerce.
I want them to actually place an order (without paying) so that I can give them the option of logging in later to see their past orders.
Is there a way to integrate an actual WooProduct into the form, as opposed to the normal way of integrating a form into the product.
FYI, i’m going this route because I want the booking process to be really simple (and on the homepage), and don’t want to redirect them to a unique product page. One Page Checkout plugin still makes things look ugly, whereas w gravity forms I can organize and style it just how I like.
THankyou!!
Hi Kyle, Populate Anything can assist in populating data from the WooCommerce products into the form, but adding the form entry to the cart will ultimately require adding the field to the product using something like Gravity Forms Product Add-Ons. I suggest reading our guide on using Gravity Forms with WooCommerce.
https://gravitywiz.com/gravity-forms-woocommerce-integration/