Skip to main content
All CollectionsFAQGeneral
Using CSS to Customize Survey Interfaces
Using CSS to Customize Survey Interfaces

Customize survey appearance with CSS for website embeds and in-app messages.

Updated over a week ago

Basic customization of your surveys can be accomplished in the Iterate survey builder, including color scheme, border radius, and fonts. For website surveys, fonts will automatically be matched to your site, but can also be manually specified in the survey builder.

If you need further control over customization, certain elements of the survey have CSS classes applied to them that will remain stable even as we update elements of the survey interface. These can be used to target survey elements with custom CSS.

For Website Surveys

You can target survey elements using your site's global stylesheet.

For In-App Message Surveys

When using integrations like Braze or Iterable, you can include custom CSS within the in-app message code to style the survey elements.

Stable CSS Classes

Title

CSS class

Description

Button

iterate__button

All UI buttons excluding the close button and the previous/next buttons, including question types where a button is used to respond

Button active

iterate__buttonActive

An active state for Button

Close button

iterate__closeButton

The close button used to dismiss the prompt or survey

Container

iterate__container

A container element that wraps both the optional prompt and the survey itself

Container border

iterate__container__border

A top border element applied to both the prompt and survey

Dark mode

iterate__darkMode

A container element that applies to surveys that have their appearance set to Dark

Dark mode auto

iterate__darkModeAuto

A container element that applies to surveys that have their appearance set to Auto (respects the OS appearance style Light/Dark)

Emoji option

iterate__emojiOption

A container element that wraps each of the images in the Emoji question type

Footer

iterate__footer

The footer panel of the survey that contains previous/next question buttons and Iterate branding

Footer - next button

iterate__footer__next

Next question button in the survey footer

Footer - previous button

iterate__footer__previous

Previous question button in the survey footer

Legal copy

iterate__legalCopy

The container element which houses the copy for the legal question type

Prompt

iterate__prompt

A container element for the optional prompt that appears before the user opts in to the survey (can be used to target elements that only appear in the prompt, vs. the survey itself)

Question

iterate__question

A container element that wraps each question within the survey

Question text

iterate__questionPrompt

The text of each question in the survey

Radio button

iterate__radio

Radio buttons, for the question types in which they appear

Rating images

iterate__ratingImages

A container element that wraps each of the images in the Rating question type

Selected option

iterate__selectedOption

An active state for the selected answer option

Survey

iterate__survey

A container element for the survey itself (can be used to target elements that only appear in the survey, vs. the prompt)

Segment

iterate__segment

Each of the segments of the survey progress bar that is displayed across the top of the survey container

Segment active

iterate__segmentActive

An active state for Segment

Thank you message

iterate__thankYou

A container element for the Thank you message that appears at the end of a survey

Example Usage

/* Custom question text styling */
.iterate__questionPrompt {
color: #333333;
font-size: 24px;
}

Note: Our CSS classes have a double underscore.

For specific guidance on implementing custom CSS in Braze, Iterable, or one of our other integrations, please refer to their respective documentation on in-app message customization.

Important: While we'll do our best to support any advanced customization of the survey UI you'd like to do, we may not be able to assist with troubleshooting all styling issues.

Did this answer your question?