Chained Selects allow you to create dependent dropdown fields in Contact Forms 7. When the user selects an option in the first field (Parent), the second field (Child) will dynamically update to show only the relevant options.
This is useful for:
• Categories → Models
• Country → Cities
• Product Type → Product Names
• Brand → Models
• Any parent-to-child selection logic
Table of contents:
1. Installation & Activation
Install the plugin like any other WordPress plugin: Chained Selects for Contact Form 7 Pro
Activate it from Dashboard → Plugins.
2. Add Chained Select Field
In this doc, we use an example dataset :
Category: Phone, Laptop, Tablet (parent field)
Models per Category (child field):
- Phone → Pixel 6, iPhone 14, Galaxy S22
- Laptop → MacBook Air, Dell XPS 13, ThinkPad X1
- Tablet → iPad Air, Galaxy Tab S8, Surface Go
Step 1: Add Select fields
Create two fields: Category and Model
Step 2: Choose a Chained Select tab
In the form editor, choose Chained Select tab, under Source, you can choose:.
- CSV File: loads options from a CSV file (for example, a file with columns: make, model, year).
- Database: loads options directly from a database table.
- Google Sheets: data is loaded from a live web source
Step 3: Set the condition to link parent → child

2.1 Chained Select Using a Database Table
In Database Mode, your chained select options are loaded directly from a table inside your WordPress database. This is extremely useful when you have a large dataset or when your data changes regularly and you don’t want to update the form manually.
Step 1: Prepare Your Database Table
Create table wp_chained_data (or any name).
Example structure:
id | category | model
Step 2: Configure Parent Field (Category)
Create a field named Category.
Go to the Chained Select tab.
Set Source: Database Table.
Table name: wp_chained_data
Database Column: Enter the column name containing the category values: categories
Insert the tag.

Step 3: Configure Child Field (Model)
Create a field named Model.
Chained Select tab → Source: Database Table.
Table name: wp_chained_data
Database column: this column contains the child/related values: model
Now we need to tell the plugin how to filter the models based on the selected category. We do that using a Where condition.”
Steps:
1. In the Model field, scroll to the Where section.
2. Click Add Where.
3. Fill in the condition:
Column: categories
Operator: =
Field: your Category field name: chained-select-298
Insert the tag
This rule means:Show only database rows where the categories column matches the value selected in the Category field.

Step 4: Save your form and test it on the frontend.
Phone → Pixel 6, iPhone 14, Galaxy S22
Laptop → MacBook Air, Dell XPS 13, ThinkPad X1
Tablet → iPad Air, Galaxy Tab S8, Surface Go
2.2 Chained Select Using a CSV File
This mode loads the chained options from a CSV file. Recommended for large datasets.
Step 1: Prepare Your CSV File
Create a CSV with two columns:
categories,model
Phone,Pixel 6
Phone,iPhone 14
Phone,Galaxy S22
Laptop,MacBook Air
Laptop,Dell XPS 13
Laptop,ThinkPad X1
Tablet,iPad Air
Tablet,Galaxy Tab S8
Tablet,Surface Go
Step 2: Upload the CSV File
You can:
• Upload to Media Library → copy file URL
• Or host it externally and paste the link
Step 3: Configure Parent Field (Category)
Chained Select tab → Source: CSV File.
Paste the file path or URL.
Column: type the column name that matches the parent values:categories.
Insert tag

Step 4: Configure Child Field (Model).
Chained Select tab → Source: CSV File.
Paste the same file path or URL.
Column: type the column name that matches the child values:model
Then we tell the plugin how to filter the CSV data using the ‘Where’ condition.”
Steps:
1. In the Model field settings, scroll to the Where section.
2. Click Add Where.
3. Fill out the fields like this:
Column: categories
Operator: =
Field: Category field name: chained_select-752
Meaning of this rule: Only show rows where the parent column matches the value selected in the Categories field.

Step 5: Save your form and test it on the frontend.
2.3 Chained Select Using Google Sheets
Google Sheets works the same way as CSV — but the data is loaded from a live web source.
Step 1: Prepare your Google Sheets
Open the sheet
Click Share.
Set access to Anyone with the link.
Copy the link.
Step 2: Configure the Category Field
Chained Select tab → Source: Google Sheet.
Paste your share link.
Column: categories.
Insert tag.

Step 3: Configure the Model Field
Chained Select tab → Source: Google Sheet.
Paste your share link.
Column: categories.
Then we tell the plugin how to filter the sheet data using the ‘Where’ condition.”
Steps:
- In the Model field settings, scroll to the Where section.
- Click Add Where.
- Fill out the fields like this:
Column: categories
Operator: =
Field: Category field name: chained_select-12
Meaning of this rule: Only show rows where the parent column matches the value selected in the Categories field.

Step 4: Save your form and test it on the frontend.
3. Example: Make → Year → Model
Example CSV file (cars.csv)
make,model,year
Toyota,Corolla,2020
Toyota,Camry,2021
Honda,Civic,2020
Honda,Accord,2022
Tesla,Model 3,2021
Tesla,Model S,2022
In the form:
- Make: choose Toyota
- Year: shows only 2020, 2021
- Model: shows Corolla or Camry depending on selected year
Demo Flow:
- Select a Make
- Select a Year (automatically filtered by make)
- Select a Model (automatically filtered by make + year)