> ## 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.

# Customer management

> View and manage funnel customers in FunnelFox. Track user profiles, purchase history, subscription status, and support requests.

The [Customers page](https://app.funnelfox.com/customers) provides a complete
view of everyone who interacts with your funnels. Unlike subscriptions or
products that you manage, customer profiles are automatically created when
someone visits any of your funnels — no purchase required.

<Note>
  **Automatic tracking**: Customer profiles are created instantly when anyone
  opens your funnel. You'll see all visitors, not just paying customers,
  giving you insights into your entire conversion funnel.
</Note>

## Understanding Profiles vs Sessions

FunnelFox tracks visitors using two key concepts that work together to give
you a complete picture of user behavior:

<Tabs>
  <Tab title="Profile (Customer)">
    ### What is a Profile?

    A profile represents a **unique visitor** across all their interactions
    with your funnels. Think of it as one consistent device or browser that
    returns multiple times.

    **Key characteristics:**

    * Created when someone first visits any funnel
    * Persists across multiple visits
    * Tracks the same person/device over time
    * Contains all sessions, transactions, and subscriptions
    * Uses browser cookies for identification
    * Unique per project (same person = different profiles in different projects)

    <Info>
      In the dashboard, "Customer" and "Profile" mean the same thing.
      We use "Customer" in the UI for clarity, but technically these
      are visitor profiles regardless of purchase status.
    </Info>
  </Tab>

  <Tab title="Session">
    ### What is a Session?

    A session represents a **single visit** to your funnel. One profile
    can have many sessions as they return to your funnels over time.

    **Key characteristics:**

    * Created each time someone opens a funnel
    * Tracks one continuous visit from entry to exit
    * Records the specific funnel, URL, and user agent
    * Links back to the parent profile
    * Captures conversion events within that visit

    <Tip>
      Sessions help you understand user behavior patterns. For example,
      you might see a customer visited 3 times before purchasing, helping
      you optimize your funnel flow.
    </Tip>
  </Tab>
</Tabs>

### Preview vs Production Behavior

<Warning>
  **Important difference for preview funnels**: To ensure fresh testing,
  preview funnels generate a new profile and session on every visit. This
  prevents cached data from affecting your tests but means preview visitor
  data shouldn't be used for analytics.
</Warning>

| Environment    | Profile Behavior         | Session Behavior       | Use Case                 |
| -------------- | ------------------------ | ---------------------- | ------------------------ |
| **Production** | Persistent across visits | New session per visit  | Real visitor tracking    |
| **Preview**    | New profile every time   | New session every time | Fresh testing experience |

## Why Unified Customer View Matters

Having all customer data in one place solves critical business challenges:

<CardGroup cols={2}>
  <Card title="Complete Journey" icon="route">
    See every touchpoint from first visit to purchase, understanding
    the full customer journey across all funnels.
  </Card>

  <Card title="Support Context" icon="headset">
    When customers contact support, instantly see their complete
    history including all visits, purchases, and interactions.
  </Card>

  <Card title="Behavioral Insights" icon="brain">
    Identify patterns like how many visits before purchase, which
    funnels work together, and where visitors drop off.
  </Card>

  <Card title="Integration Data" icon="plug">
    See customer data from connected services like Adapty or
    RevenueCat, providing app subscription status alongside web activity.
  </Card>
</CardGroup>

## Viewing Customers

### Customer List

The main customers page displays all profiles in a comprehensive table:

<Frame>
  <img src="https://mintcdn.com/funnelfox/5Zfy2RyXFajObgkI/assets/dashboard-customers-list.png?fit=max&auto=format&n=5Zfy2RyXFajObgkI&q=85&s=bfecc93e1807cc20c0e229e277bc2ed6" alt="Customers list view" width="3294" height="1678" data-path="assets/dashboard-customers-list.png" />
</Frame>

#### Understanding the Columns

<ParamField path="Created" type="datetime">
  When this profile first visited any of your funnels. This is the
  customer's "first touch" timestamp in the UTC timezone, useful for cohort analysis.
</ParamField>

<ParamField path="Email" type="string">
  The customer’s email, if provided via Email input or OAuth. This value can be updated later.
</ParamField>

<ParamField path="Device" type="string">
  Browser and operating system information extracted from the user agent.
  Helps identify platform-specific issues or opportunities.
</ParamField>

<ParamField path="Integrations" type="badges">
  Connected 3rd party services.
</ParamField>

<ParamField path="ID" type="string">
  The unique Profile ID used throughout FunnelFox. This is what you'll
  use in webhooks, API calls, and when searching for specific customers.
</ParamField>

### Filtering Options

Quickly find specific customers or segments:

<Tabs>
  <Tab title="By Email">
    **Email Filter**: Search for customers by email address. Useful for
    support requests or checking if someone is already in your system.

    <Tip>
      Email search is partial match, so searching "john" will find
      "[john@example.com](mailto:john@example.com)" and "[johndoe@gmail.com](mailto:johndoe@gmail.com)".
    </Tip>
  </Tab>

  <Tab title="By Funnel">
    **Funnel Filter**: See all customers who visited a specific funnel.
    Perfect for analyzing funnel-specific conversion rates and behavior.
  </Tab>

  <Tab title="By Integration">
    **Integration Filter**: Find customers with data in specific services.
    For example, filter by "Adapty" to see all mobile app users.
  </Tab>

  <Tab title="By Date">
    **Date Range**: Filter customers by when they first visited. Useful
    for cohort analysis and tracking growth over time.
  </Tab>
</Tabs>

## Customer Details

Click any customer to view their complete profile and activity history:

<Frame>
  <img src="https://mintcdn.com/funnelfox/5Zfy2RyXFajObgkI/assets/dashboard-customer-detail.png?fit=max&auto=format&n=5Zfy2RyXFajObgkI&q=85&s=3cd1e1a64738dc8d4b17e7ffa9d8fec7" alt="Individual customer details" width="3300" height="1524" data-path="assets/dashboard-customer-detail.png" />
</Frame>

### Profile Information

The details sidebar shows comprehensive customer data:

<ParamField path="Customer ID" type="string">
  The unique internal identifier FunnelFox automatically assigns to every profile.
  Use this when working with webhooks, API calls, or support tickets.
</ParamField>

<ParamField path="User ID" type="string">
  An external identifier supplied by you. The user ID from your own
  backend or captured through an input element in the funnel. Use it to
  cross-reference a FunnelFox profile against the matching user record in
  your system.
</ParamField>

<Accordion title="How to assign a User ID">
  You can set the User ID in two ways:

  * **Custom input**: Add an input element with the `_USERID_` element ID.
    Its value becomes the User ID for the profile.
  * **From your backend**: Fetch the user ID from your backend and set it
    using [custom code](/editor/coding) inside a Raw HTML element:

    ```
    <script>
        fox.inputs.set('_USERID_', yourGeneratedId)
    </script>
    ```
</Accordion>

<ParamField path="Email" type="string">
  The customer’s email, if provided via Email input or OAuth. This value can be updated later.
</ParamField>

<ParamField path="Customer since" type="datetime">
  When this profile was first created in the UTC timezone (first funnel visit). Shows
  how long they've been in your ecosystem.
</ParamField>

<ParamField path="User Agent" type="string">
  Complete browser and device information. Useful for debugging
  device-specific issues or understanding your audience's tech stack.
</ParamField>

<ParamField path="Country" type="string">
  Geographic location based on IP address. Helps with localization
  decisions and regional marketing strategies.
</ParamField>

<ParamField path="Integrations" type="list">
  External services with data for this customer:

  * **Subscription platforms** (Adapty, RevenueCat)
  * **Payment providers** (Stripe, PayPal)
</ParamField>

### Sessions History

View all visits from this customer:

<ParamField path="Created" type="datetime">
  When each session started in the UTC timezone. Shows visit frequency and patterns.
</ParamField>

<ParamField path="Funnel" type="link">
  Which funnel they visited. Click to see the specific funnel configuration.
</ParamField>

<ParamField path="URL" type="string">
  The complete URL including parameters. Useful for tracking campaign
  sources and A/B test variants.
</ParamField>

<ParamField path="User Agent" type="string">
  Browser details for each session. Helps identify if customers switch
  devices or update browsers.
</ParamField>

<Info>
  Sessions are listed chronologically, making it easy to see the
  customer's journey over time. Look for patterns like multiple visits
  before purchase or returning after cancellation.
</Info>

### Transactions History

All payments and purchases from this customer:

<ParamField path="Created" type="datetime">
  When the transaction occurred. Matches your PSP's transaction time.
</ParamField>

<ParamField path="Amount" type="currency">
  Transaction value in the original currency. Includes one-time
  payments and subscription charges.
</ParamField>

<ParamField path="Funnel" type="link">
  Which funnel generated this transaction. Helps attribute revenue
  to specific campaigns.
</ParamField>

<ParamField path="Session ID" type="string">
  Links the transaction to a specific session. Click to see the
  complete session details including the conversion path.
</ParamField>

## Editing Customer Email

You can edit any customer email:

1. Click any customer to open their details.

2. Click the pencil icon in the top right.

<Frame>
  <img src="https://mintcdn.com/funnelfox/pOIHWu4PX8zfrUzx/assets/edit-email.png?fit=max&auto=format&n=pOIHWu4PX8zfrUzx&q=85&s=1d36ad7e4e18a751a0edb6cd5dcc80db" width="1920" height="879" data-path="assets/edit-email.png" />
</Frame>

3. Enter a new email.

4. Press **Enter** or click **Update customer**.

Editing the email triggers the [`profile.updated` webhook](/api-reference/webhook-reference/profileupdated), allowing you to sync changes with your backend.

## Common Use Cases

### Support Workflows

When a customer contacts support:

<Steps>
  <Step title="Find the customer">
    Search by email or ask for their Profile ID from any FunnelFox email
  </Step>

  <Step title="Review their history">
    Check sessions to understand their journey and any issues they faced
  </Step>

  <Step title="Check transactions">
    Verify payments, subscriptions, and any failed transactions
  </Step>

  <Step title="Review integrations">
    Check their status in connected services like mobile app subscriptions
  </Step>
</Steps>

## Privacy and Data Management

### Customer Data Rights

FunnelFox helps you comply with privacy regulations:

* **Data Access**: Export all data for a specific profile
* **Data Deletion**: Remove profiles and their associated data
* **Data Portability**: Export customer data in standard formats
* **Consent Tracking**: Record and manage consent preferences

<Warning>
  When deleting a customer profile, all associated sessions and
  non-financial data are removed. Transaction records are retained
  for legal compliance but anonymized.
</Warning>

### Anonymous Visitors

Many profiles won't have email addresses—these are anonymous visitors who:

* Haven't made a purchase
* Haven't filled out a form
* Haven't opted into tracking

These profiles are still valuable for:

* Understanding traffic patterns
* Analyzing funnel drop-off points
* A/B testing and optimization
* Device and browser analytics

## Frequently Asked Questions

<AccordionGroup>
  <Accordion title="Why do I see customers without emails?">
    Profiles are created for all visitors, not just converters. Anonymous
    profiles help you understand your entire funnel, including drop-offs.
    Emails are only captured through forms or purchases.
  </Accordion>

  <Accordion title="How does FunnelFox identify returning visitors?">
    FunnelFox uses browser cookies to identify returning visitors.
    This works across sessions within the same project but creates new
    profiles if users clear cookies, switch devices, or visit a different
    project's funnels.
  </Accordion>

  <Accordion title="Why are preview funnel visitors separate?">
    Preview funnels create new profiles on each visit to ensure fresh
    testing experiences. This prevents cached data, stored forms, or
    cookie data from affecting your tests. Production funnels maintain
    persistent profiles as expected.
  </Accordion>

  <Accordion title="Can I merge duplicate customer profiles?">
    Currently, profiles cannot be manually merged. If a customer uses
    different devices, clears cookies, or visits different projects,
    they will appear as separate profiles. Use email addresses to
    identify the same person across profiles.
  </Accordion>

  <Accordion title="How long is customer data retained?">
    Customer profiles and sessions are retained indefinitely unless manually
    deleted. You can request to delete user PII from your manager.
  </Accordion>

  <Accordion title="Can I export customer data?">
    Yes, you can export customer data via:

    * API endpoints for programmatic access
    * Individual profile export for GDPR requests
  </Accordion>
</AccordionGroup>

## Need Help?

* Review [Sessions & Analytics](/dashboard/analytics) for deeper insights
* Check [Subscription Management](/dashboard/subscriptions) for customer payments
* Read [Integration Guides](/integrations/index) for platform-specific setup
