# Redirect Contact Form 7 Based on an Answer

> Sends visitors to a different page after submitting depending on what they chose in a drop-down or radio field, such as a sales or support thank-you page.

- Type: PHP
- Runs: Frontend only
- Category: [Forms](https://wpide.com/library/category/forms/)
- Tags: contact-form-7, redirect, conditional
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/cf7-redirect-by-field-value/

## Code

```php
$wpide_cf7_choice_field = 'menu-department'; // Name of the select or radio field.
// Option value => URL.
$wpide_cf7_choice_urls  = array(
    'Sales'   => '/thank-you-sales/',
    'Support' => '/thank-you-support/',
);

add_action( 'wp_footer', function () use ( $wpide_cf7_choice_field, $wpide_cf7_choice_urls ) {
    if ( ! wp_script_is( 'contact-form-7', 'enqueued' ) ) {
        return;
    }

    $urls = array_map( 'esc_url_raw', $wpide_cf7_choice_urls );
    ?>
<script>
document.addEventListener( 'wpcf7mailsent', function ( event ) {
    var field = <?php echo wp_json_encode( $wpide_cf7_choice_field ); ?>;
    var urls = <?php echo wp_json_encode( $urls ); ?>;
    ( event.detail.inputs || [] ).forEach( function ( input ) {
        var name = input.name.replace( /\[\]$/, '' );
        if ( name === field && urls[ input.value ] ) { window.location.href = urls[ input.value ]; }
    } );
}, false );
</script>
    <?php
} );
```

## Notes

Set the field name and map each option value to a URL; options you do not list keep the normal on-page message.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "Redirect Contact Form 7 Based on an Answer" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
