> ## Documentation Index
> Fetch the complete documentation index at: https://funnelfox.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Elements overview

> Explore all FunnelFox funnel elements: buttons, text, images, checkouts, timers, popups, plan pickers, reviews, and more.

Elements are the fundamental building blocks of your funnels. From simple text
and images to complex forms and payment buttons, elements let you create
engaging, conversion-optimized experiences without writing code.

## Adding Elements

The fastest way to add elements is to prompt [AI Chat in Editor](/agentic-solution/overview#ai-chat-in-editor) on the canvas, for example: `add a plan picker with three monthly tiers and a CTA button`. The agent picks the right elements, configures them, and lays them out on the screen.

You can also drag elements from the left panel onto your screen in the Editor. Each element automatically adapts to mobile and desktop views while maintaining your design intent.

<Frame>
  <img src="https://mintcdn.com/funnelfox/cxG6YKcN6wJiSnp-/assets/editor-elements-panel.png?fit=max&auto=format&n=cxG6YKcN6wJiSnp-&q=85&s=3f52620832e9f0e5a9fc18fd90706900" alt="Elements panel in Editor" width="1920" height="989" data-path="assets/editor-elements-panel.png" />
</Frame>

## Common Properties

Every element shares these foundational properties that control identification,
visibility, and behavior.

### Element Tab

#### ID

Unique identifier for the element. Auto-generated but customizable.

**Why IDs matter:**

* **Variables**: Stateful elements (inputs, dropdowns, etc.) with IDs create variables
* **Analytics tracking**: Track specific element interactions
* **Dynamic actions**: Reference in show/hide actions

<Tip>
  Use descriptive IDs like `email-input` or `submit-button` for easier
  maintenance and debugging.
</Tip>

#### Visibility

Control when and how elements appear:

| Option          | Description              | Use Case                   |
| --------------- | ------------------------ | -------------------------- |
| **Yes**         | Always visible (default) | Standard content           |
| **No**          | Removed from DOM         | Hidden features, A/B tests |
| **Conditional** | Show based on rules      | Personalization, targeting |

<Warning>
  **Important for RAW elements**: Setting visibility to "No" prevents scripts
  from executing since the element isn't rendered in the DOM.
</Warning>

See [Conditional Visibility](#conditional-visibility) below for detailed rules and options.

## Conditional Visibility

Create sophisticated display rules based on user data and context:

<Frame>
  <img src="https://mintcdn.com/funnelfox/KAngMY6MfAm-9pc7/assets/conditional.png?fit=max&auto=format&n=KAngMY6MfAm-9pc7&q=85&s=7b99f17bce72bcdd42eefd8171d0add2" alt="Conditional visibility options" width="1126" height="857" data-path="assets/conditional.png" />
</Frame>

### Condition Types

**Input Value**
Check user inputs or variables against conditions:

* Equals, Not equals
* Greater than, Less than
* Contains, Does not contain
* Empty, Not empty
* Is one of (multiple values)

<Frame>
  <img src="https://mintcdn.com/funnelfox/KAngMY6MfAm-9pc7/assets/conditional-2.png?fit=max&auto=format&n=KAngMY6MfAm-9pc7&q=85&s=e4d8bfd7d621091187a406ab9f9e4ada" alt="Input value condition" width="1158" height="882" data-path="assets/conditional-2.png" />
</Frame>

**Country**
Show/hide based on visitor's location (geo-IP):

```
Example: Show EU-specific privacy notice only to European visitors
```

**Device OS**
Target specific platforms:

* iOS
* Android
* Other (Desktop, etc.)

**Browser**
Detect visitor's browser:

* Chrome
* Firefox
* Safari
* Instagram (in-app)
* Facebook (in-app)

**URL Parameter**
Check for query parameters in the URL:

<Frame>
  <img src="https://mintcdn.com/funnelfox/KAngMY6MfAm-9pc7/assets/conditional-4.png?fit=max&auto=format&n=KAngMY6MfAm-9pc7&q=85&s=b97b2060f8e1b575f3014e90f7fcfcb4" alt="URL parameter condition" width="1163" height="839" data-path="assets/conditional-4.png" />
</Frame>

```
URL: funnel.com?utm_campaign=promo
Condition: ?utm_campaign contains "promo"
Result: Element shows
```

**Available Payment Methods**
Show elements based on payment capabilities:

* Primarily for Apple Pay availability
* Useful for payment method selectors

### Combining Conditions

Add multiple conditions with logical operators:

* **All conditions must be true** (AND logic)
* **Any condition must be true** (OR logic)

## Styles Tab

<Tip>Use [themes](/editor/themes) to speed up design across all funnels in your project.</Tip>

Access the **Styles** tab in the selector on the right. Common styling properties available for all elements:

<Frame>
  <img src="https://mintcdn.com/funnelfox/cxG6YKcN6wJiSnp-/assets/element-raw-styles-tab.png?fit=max&auto=format&n=cxG6YKcN6wJiSnp-&q=85&s=d01e72adfeecf59438984e622d256685" alt="Styles tab properties" width="1129" height="888" data-path="assets/element-raw-styles-tab.png" />
</Frame>

### Container Styles

#### Offset

Position adjustment relative to default placement:

* Horizontal offset (px)
* Vertical offset (px)

#### Position

How the element is positioned:

* **In content**: Normal document flow
* **Attached**: Fixed position - stays visible in viewport (e.g., sticky button at bottom)
* **Attached on scroll**: Becomes fixed after scrolling into view (sticky behavior)

#### Padding

Internal spacing between content and element border:

* Top, Right, Bottom, Left (px)
* Use for breathing room around content

### Visual Styles

#### Background

* **Color**: Solid background color with opacity
* **Gradient**: Two-color gradients (if supported)
* **Image**: Background images for containers

#### Roundness

Corner radius in pixels:

* `0px` = Sharp corners
* `8px` = Slightly rounded (modern)
* `100px` = Pill-shaped (for buttons)

#### Border

* **Width**: Border thickness (px)
* **Color**: Border color with opacity
* **Style**: Solid, dashed, dotted (element-specific)

#### Shadow

Add depth with shadows:

* Toggle on/off
* Customize shadow properties (element-specific)
* "Show less" for preset shadows
* Expand for detailed control

### Geo-Targeted Offers

Personalize based on location:

```
US Visitors: Show USD pricing
EU Visitors: Show EUR pricing + VAT notice
UK Visitors: Show GBP pricing
```

### Campaign-Specific Elements

Show elements for marketing campaigns:

```
URL: funnel.com?promo=summer50
Show: Special offer banner with code
```

## Troubleshooting

<AccordionGroup>
  <Accordion title="Elements duplicate, lag, or behave unexpectedly">
    <ol>
      <li>Save your funnel.</li>
      <li>Delete the problematic element.</li>
      <li>Add the element back and reconfigure it.</li>
      <li>Reload the page and test again.</li>
    </ol>
  </Accordion>

  <Accordion title="Error: “Failed to fetch dynamically imported module” when editing visibility conditions">
    <ol>
      <li>Save the funnel.</li>
      <li>Reload the page.</li>
      <li>Edit the conditions again.</li>
    </ol>
  </Accordion>
</AccordionGroup>

## Next Steps

* [RAW Element](/elements/raw) - Add custom HTML and JavaScript
* [Button Element](/elements/button) - Create compelling CTAs
* [Input Elements](/elements/textinput) - Collect user information
* [Actions & Triggers](/editor/actions) - Make elements interactive
