Enabling Conditional Logic for Feeds

Summary

Conditional logic can be used to specify when a certain feed should process based on the form data. This is useful for subscribing users to mailing lists and sending payment information to different services.

Feed Settings

You can enable conditional logic for a feed in the feed settings. This will need to be done for each feed associated with the form. If conditional logic is not configured, the form will process the first feed it finds.

Image showing Conditional Logic settings for a feed

Examples

Process a feed based on a field choice

In this example, we use conditional logic to determine whether the form data should be sent to either Stripe or PayPal.

First, we add a field to the form that allows the user to choose a payment method. We will use a drop-down field labeled ‘Gateway’ with the following choices: Stripe and PayPal.

Image showing choices flyout that will be used for Conditional Logic settings

Then we create a feed for each service via the specific add-on feed settings page. Conditional logic is enabled, and the criteria are set so that the gateway equals the appropriate payment method for that feed.

When the user is on the form, they will see the Gateway field, which lets them select the payment gateway they want to use. Then, when the form is submitted, the conditional logic will determine where the payment information is sent. If they select PayPal as the Gateway, then the payment information will be forwarded to PayPal. If they choose Stripe as the Gateway, then the payment information will be sent to Stripe.

Process a feed if a field is not empty

In this case, you can use the “is not” operator, leaving the input field empty (i.e., the field value is blank). The example below would create a post using an Advanced Post Creation feed only if a field is not empty.

Image showing Conditional Logic settings for a feed

Process a feed based on payment status

Use this when a feed should run only after payment reaches a specific status, such as creating a user when the payment is paid, or notifying someone when it fails. Payment status conditional logic is set on the feed itself and can target any status that the gateway records.

The form needs an active payment feed from a supported payment add-on. Payment Status then appears in the conditional logic field list on other feeds, such as User Registration, Zapier, or Advanced Post Creation.

On the feed you want to control, enable conditional logic. Choose Payment Status, then choose “is” or “is not”, then choose the status. Create a separate feed for each status you need to handle.

Image showing Payment statuses in Conditional Logic
Status in the listWhen to use it
PaidA one-time payment has been completed
FailedThe payment failed
ProcessingPayment has started and has not finished
AuthorizedThe payment was authorized and has not been captured
Active SubscriptionA subscription is active
Cancelled SubscriptionA subscription was canceled
PendingPayment is pending
RefundedThe payment was refunded
VoidedThe payment was voided

Note: Not every payment gateway uses every status.

The feed does not run when the form is submitted if the status does not match yet. When the payment add-on updates the entry’s payment status, Gravity Forms checks these feeds again and processes those whose conditions now match. A feed that has already run is not processed again.

When using conditional logic for payment status, leave Post Payment Actions unchecked for that feed.