---
title: How to Set Up Promo Codes Using Conditional Logic
description: Learn to set up promo codes using conditional logic. Swap prices and hide fields automatically for a seamless checkout.
---

[Skip to content](https://help.indiegraf.com/how-to-set-up-promo-codes-using-conditional-logic#main-content)

- [English](https://help.indiegraf.com/how-to-set-up-promo-codes-using-conditional-logic)
- [Español](https://help.indiegraf.com/es/how-to-set-up-promo-codes-using-conditional-logic)

English

Show submenu for translations

[Publisher Portal](https://portal.indiegraf.com/tickets?hsLang=en)

[![Indiegraf-PrimaryLogo-FullColor-1](https://help.indiegraf.com/hs-fs/hubfs/Indiegraf-PrimaryLogo-FullColor-1.png?width=262&height=60&name=Indiegraf-PrimaryLogo-FullColor-1.png)](https://help.indiegraf.com/?hsLang=en)

Open main navigation

Close main navigation

- - [English](https://help.indiegraf.com/how-to-set-up-promo-codes-using-conditional-logic)
    - [Español](https://help.indiegraf.com/es/how-to-set-up-promo-codes-using-conditional-logic)

  English
  
  Show submenu for translations
- [Publisher Portal](https://portal.indiegraf.com/tickets)

 How can we help you?

- There are no suggestions because the search field is empty.

1. [Indiegraf](https://help.indiegraf.com/?hsLang=en)
2. [Indie Website](https://help.indiegraf.com/indie-website?hsLang=en)
3. [Audience Engagement & Forms](https://help.indiegraf.com/indie-website?hsLang=en#audience-engagement-forms)

December 23, 2025

# How to Set Up Promo Codes Using Conditional Logic

## Learn to set up promo codes using conditional logic. Swap prices and hide fields automatically for a seamless checkout.

Offering discounts is a great way to boost conversions and reward your community. While these forms do not use a traditional "coupon" button, you can create a seamless experience by using **Conditional Logic** to swap prices based on what a user types in the promo field.

---

### Step 1: Create the Promo Code Field

First, you need a field where users can input their code.

1. Add a **Text Block** (Short Answer) field to your form.
2. Label it **"Promo Code"**.
3. **Description:** Use the description area to provide instructions (e.g., "Enter your code here for a discount").

**Important:** Do not make this field required. If it is required, users without a code will be unable to submit the form.

### Step 2: Create Your Product Options

You will need to create two separate versions of your pricing:

- **Regular Price Product Field:** Create a product or dropdown with your standard pricing.
- **Discounted Price Product Field:** Create a second product with the price already adjusted (e.g., a 10% reduction or $0 for a full discount).

### Step 3: Apply Conditional Logic

Now, you will set rules so that the form automatically hides the full price and shows the discount when the correct code is entered.

#### To Hide the Regular Price:

1. Open the settings for your Regular Price **Product**.
2. Enable **Conditional Logic**.
3. Set the rule to: **Hide** this field if **All** match.
4. Select: `Promo Code` | `is` | `IndiegrafFriends` (or your chosen code).

#### To Show the Discounted Price:

![Screenshot 2025-12-23 at 1.33.06 PM](https://help.indiegraf.com/hs-fs/hubfs/Screenshot%202025-12-23%20at%201.33.06%20PM.png?width=670&height=237&name=Screenshot%202025-12-23%20at%201.33.06%20PM.png)

1. Open the settings for your Discounted Price **Product**.
2. Enable **Conditional Logic**.
3. Set the rule to: **Show** this field if **All** match.
4. Select: `Promo Code` | `is` | `IndiegrafFriends`.

---

### Managing Multiple Codes

If you have various tiers of discounts, follow this logic structure:

| Goal | Field to Edit | Logic Action | Condition |
| --- | --- | --- | --- |
| **Hide Full Price** | Regular Product | **Hide** | If Promo Code is `Indiegraf10` **OR** `IndiegrafFree` |
| **Show 10% Off** | Discounted Product | **Show** | If Promo Code is `Indiegraf10` |
| **Show Free Option** | $0 Product | **Show** | If Promo Code is `IndiegrafFree` |
| **Hide Payment Info** | Billing Block | **Hide** | If Promo Code is `IndiegrafFree` |

 

- [Welcome to Indiegraf](https://help.indiegraf.com/welcome-to-indiegraf?hsLang=en)
- [Onboarding](https://help.indiegraf.com/onboarding?hsLang=en#main-content)

    - [Quick Start Guide](https://help.indiegraf.com/onboarding?hsLang=en#quick-start-guide)
- [Indie Website](https://help.indiegraf.com/indie-website?hsLang=en#main-content)

    - [Analytics & Growth](https://help.indiegraf.com/indie-website?hsLang=en#analytics-growth)
    - [Audience Engagement & Forms](https://help.indiegraf.com/indie-website?hsLang=en#audience-engagement-forms)
    - [Configuring your Homepage](https://help.indiegraf.com/indie-website?hsLang=en#configuring-your-homepage)
    - [Content Creation & Management](https://help.indiegraf.com/indie-website?hsLang=en#content-creation-management)
    - [Design & Page Layout](https://help.indiegraf.com/indie-website?hsLang=en#design-page-layout)
    - [Indiegraf Pay](https://help.indiegraf.com/indie-website?hsLang=en#indiegraf-pay)
    - [Media & Visual Assets](https://help.indiegraf.com/indie-website?hsLang=en#media-visual-assets)
    - [Paywall Solution: Pelcro](https://help.indiegraf.com/indie-website?hsLang=en#paywall-solution-pelcro)
    - [SEO and Google Tools](https://help.indiegraf.com/indie-website?hsLang=en#seo-and-google-tools)
    - [Site Administration](https://help.indiegraf.com/indie-website?hsLang=en#site-administration)
    - [Technical Questions](https://help.indiegraf.com/indie-website?hsLang=en#technical-questions)
- [Indie Email](https://help.indiegraf.com/indie-email?hsLang=en#main-content)

    - [Quickstart Video Guide: Indie Email](https://help.indiegraf.com/indie-email?hsLang=en#quickstart-video-guide-indie-email)
    - [Account Setup & Foundations](https://help.indiegraf.com/indie-email?hsLang=en#account-setup-foundations)
    - [Contact Management](https://help.indiegraf.com/indie-email?hsLang=en#contact-management)
    - [Creating Campaigns](https://help.indiegraf.com/indie-email?hsLang=en#creating-campaigns)
    - [Sending Campaigns & Automation](https://help.indiegraf.com/indie-email?hsLang=en#sending-campaigns-automation)
    - [Troubleshooting & Deliverability](https://help.indiegraf.com/indie-email?hsLang=en#troubleshooting-deliverability)
    - [Analytics](https://help.indiegraf.com/indie-email?hsLang=en#analytics)
- [Indie Ads Manager (IAM)](https://help.indiegraf.com/indie-ads-manager-iam?hsLang=en#main-content)

    - [Reporting & Statistics](https://help.indiegraf.com/indie-ads-manager-iam?hsLang=en#reporting-statistics)
    - [Essential Articles](https://help.indiegraf.com/indie-ads-manager-iam?hsLang=en#essential-articles)
    - [Native Ad Templates](https://help.indiegraf.com/indie-ads-manager-iam?hsLang=en#native-ad-templates)
    - [Quick Start Guide](https://help.indiegraf.com/indie-ads-manager-iam?hsLang=en#quick-start-guide)
    - [Payment Solutions](https://help.indiegraf.com/indie-ads-manager-iam?hsLang=en#payment-solutions)
- [Hearken](https://help.indiegraf.com/hearken?hsLang=en#main-content)

    - [Planning and Preparing to Launch with Hearken](https://help.indiegraf.com/hearken?hsLang=en#planning-and-preparing-to-launch-with-hearken)
    - [Collecting Questions](https://help.indiegraf.com/hearken?hsLang=en#collecting-questions)
    - [Collecting Votes](https://help.indiegraf.com/hearken?hsLang=en#collecting-votes)
    - [Reporting an Answer](https://help.indiegraf.com/hearken?hsLang=en#reporting-an-answer)
    - [Spreading Hearken Across Your Organization](https://help.indiegraf.com/hearken?hsLang=en#spreading-hearken-across-your-organization)
    - [Creating and Customizing an Embed](https://help.indiegraf.com/hearken?hsLang=en#creating-and-customizing-an-embed)
    - [Workflow Features](https://help.indiegraf.com/hearken?hsLang=en#workflow-features)
    - [Platform Features](https://help.indiegraf.com/hearken?hsLang=en#platform-features)
    - [Setting Up Notifications and Alerts](https://help.indiegraf.com/hearken?hsLang=en#setting-up-notifications-and-alerts)
    - [Setting up APIs and webhooks](https://help.indiegraf.com/hearken?hsLang=en#setting-up-apis-and-webhooks)
    - [Data collection and exporting](https://help.indiegraf.com/hearken?hsLang=en#data-collection-and-exporting)
    - [Automatic categorization](https://help.indiegraf.com/hearken?hsLang=en#automatic-categorization)
    - [Social, outreach, and marketing](https://help.indiegraf.com/hearken?hsLang=en#social-outreach-and-marketing)
    - [Events and In-Person Engagement](https://help.indiegraf.com/hearken?hsLang=en#events-and-in-person-engagement)
    - [Monetizing your Hearken work](https://help.indiegraf.com/hearken?hsLang=en#monetizing-your-hearken-work)
- [Indiegraf Experts](https://help.indiegraf.com/indiegraf-experts?hsLang=en)
- [Indiegraf Product Release Notes](https://help.indiegraf.com/indiegraf-product-release-notes?hsLang=en#main-content)

    - [Product Demo Videos](https://help.indiegraf.com/indiegraf-product-release-notes?hsLang=en#product-demo-videos)
- [General](https://help.indiegraf.com/general?hsLang=en)
- [RevEngine](https://help.indiegraf.com/revengine?hsLang=en#main-content)

    - [Getting Started with RevEngine](https://help.indiegraf.com/revengine?hsLang=en#getting-started-with-revengine)
    - [International giving](https://help.indiegraf.com/revengine?hsLang=en#international-giving)
    - [RevEngine Core](https://help.indiegraf.com/revengine?hsLang=en#revengine-core)
    - [Organization management](https://help.indiegraf.com/revengine?hsLang=en#organization-management)
    - [Working with Stripe](https://help.indiegraf.com/revengine?hsLang=en#working-with-stripe)
    - [Contribution page basics](https://help.indiegraf.com/revengine?hsLang=en#contribution-page-basics)
    - [Customizing your page](https://help.indiegraf.com/revengine?hsLang=en#customizing-your-page)
    - [Branding and images](https://help.indiegraf.com/revengine?hsLang=en#branding-and-images)
    - [Advanced page settings & features](https://help.indiegraf.com/revengine?hsLang=en#advanced-page-settings-features)
    - [Portal & contribution management](https://help.indiegraf.com/revengine?hsLang=en#portal-contribution-management)
    - [Contribution data](https://help.indiegraf.com/revengine?hsLang=en#contribution-data)
    - [Analytics and Reporting](https://help.indiegraf.com/revengine?hsLang=en#analytics-and-reporting)
    - [Best Practices and Recommendations](https://help.indiegraf.com/revengine?hsLang=en#best-practices-and-recommendations)
    - [Receipts, reminders and transactional communications](https://help.indiegraf.com/revengine?hsLang=en#receipts-reminders-and-transactional-communications)
    - [Security & Legal](https://help.indiegraf.com/revengine?hsLang=en#security-legal)
    - [Common issues](https://help.indiegraf.com/revengine?hsLang=en#common-issues)

[![Indiegrf](https://help.indiegraf.com/hs-fs/hubfs/Indiegraf-SecondaryLogo-DarkNavy-2.png?width=260&height=130&name=Indiegraf-SecondaryLogo-DarkNavy-2.png "Indiegrf")](https://help.indiegraf.com/?hsLang=en)

Indiegraf is on a mission to make local news entrepreneurship a great career and life choice for journalists everywhere.

<https://www.instagram.com/indiegrafmedia> <https://www.twitter.com/indiegrafmedia> <https://www.facebook.com/indiegrafmedia> <https://www.linkedin.com/indiegraf-media> [mailto:support@indiegraf.com](mailto:support@indiegraf.com)

Copyright © 2025, Indiegraf Media