Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fa7f52a72b | ||
|
|
5306aecec4 | ||
|
|
cdc332d44e | ||
|
|
2e58f337b0 | ||
|
|
1390b071ea | ||
|
|
d5a4a4736b | ||
|
|
57725783e8 | ||
|
|
8f5527ac34 | ||
|
|
3632c9ec94 | ||
|
|
1acf334ad3 | ||
|
|
a526bb08be | ||
|
|
787cf2d56f | ||
|
|
12b7dbd567 | ||
|
|
423466d30a |
@@ -50,6 +50,9 @@ x-environment: &environment
|
||||
|
||||
############################################## OPTIONAL (APP CONFIGURATION) ##############################################
|
||||
|
||||
# Set the below value if you have and want to use a custom URL for the links created by the Link Shortener
|
||||
# SHORT_URL_BASE:
|
||||
|
||||
# Set the below to 0 to enable Email Verification for new signups (will required Email Configuration)
|
||||
EMAIL_VERIFICATION_DISABLED: 1
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 189 KiB |
|
Before Width: | Height: | Size: 109 KiB |
|
Before Width: | Height: | Size: 99 KiB |
|
Before Width: | Height: | Size: 330 KiB |
|
Before Width: | Height: | Size: 184 KiB |
|
Before Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 20 KiB |
@@ -1,6 +1,5 @@
|
||||
---
|
||||
title: "Setup SAML with Identity Providers"
|
||||
description: "This guide explains the settings you need to use to configure SAML with your Identity Provider. Once configured, obtain an XML metadata file and upload it on your Formbricks instance."
|
||||
title: "How to setup SAML with Identity Providers"
|
||||
---
|
||||
|
||||
### SAML Registration with Identity Providers
|
||||
@@ -9,7 +8,7 @@ This guide explains the settings you need to use to configure SAML with your Ide
|
||||
|
||||
> **Note:** Please do not add a trailing slash at the end of the URLs. Create them exactly as shown below.
|
||||
|
||||
**Assertion consumer service URL / Single Sign-On URL / Destination URL:** [https://app.formbricks.com/api/auth/saml/callback](https://app.formbricks.com/api/auth/saml/callback)
|
||||
**Assertion consumer service URL / Single Sign-On URL / Destination URL:** https://app.formbricks.com/api/auth/saml/callback
|
||||
|
||||
**Entity ID / Identifier / Audience URI / Audience Restriction:** [https://saml.formbricks.com](https://saml.formbricks.com)
|
||||
|
||||
@@ -23,72 +22,55 @@ This guide explains the settings you need to use to configure SAML with your Ide
|
||||
|
||||
**Mapping Attributes / Attribute Statements:**
|
||||
|
||||
* [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier) -> id
|
||||
|
||||
* [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress) -> email
|
||||
|
||||
* [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname) -> firstName
|
||||
|
||||
* [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname) -> lastName
|
||||
- http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier -> id
|
||||
- http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress -> email
|
||||
- http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname -> firstName
|
||||
- http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname -> lastName
|
||||
|
||||
### SAML With Okta
|
||||
|
||||
<Steps>
|
||||
<Step title="Create an application with your OIDC provider">
|
||||
For example, in Okta, once you create an account, you can click on Applications on the sidebar menu:
|
||||
|
||||
<img src="/images/development/guides/auth-and-provision/okta/okta-applications.webp" />
|
||||
</Step>
|
||||
|
||||
<Step title="Click on Create App Integration">
|
||||
<img src="/images/development/guides/auth-and-provision/okta/create-app-integration.webp" />
|
||||
</Step>
|
||||
|
||||
<Step title="Select SAML 2.0 in the modal form, and click Next">
|
||||
<img src="/images/development/guides/auth-and-provision/okta/select-saml-2.0.webp" />
|
||||
</Step>
|
||||
|
||||
<Step title="Fill the general settings as shown and click Next">
|
||||
<img src="/images/development/guides/auth-and-provision/okta/general-settings.webp" />
|
||||
</Step>
|
||||
|
||||
<Step title="Fill the fields mapping as shown and click Next">
|
||||
<img src="/images/development/guides/auth-and-provision/okta/fields-mapping.webp" />
|
||||
</Step>
|
||||
|
||||
<Step title="Enter the SAML Integration Settings as shown and click Next">
|
||||
<img src="/images/development/guides/auth-and-provision/okta/saml-integration-settings.webp" />
|
||||
</Step>
|
||||
|
||||
<Step title="Check the internal app checkbox and click Finish">
|
||||
<img src="/images/development/guides/auth-and-provision/okta/internal-app.webp" />
|
||||
</Step>
|
||||
|
||||
<Step title="Check that the app is created successfully">
|
||||
<img src="/images/development/guides/auth-and-provision/okta/app-created.webp" />
|
||||
</Step>
|
||||
|
||||
<Step title="Click on the app and head over to the Assignments tab">
|
||||
<img src="/images/development/guides/auth-and-provision/okta/assignments-tab.webp" />
|
||||
</Step>
|
||||
|
||||
<Step title="Click on Assign button and select Assign to People">
|
||||
<img src="/images/development/guides/auth-and-provision/okta/assign-to-people.webp" />
|
||||
</Step>
|
||||
|
||||
<Step title="Select the users you want to assign the app to and click Assign">
|
||||
<img src="/images/development/guides/auth-and-provision/okta/select-users.webp" />
|
||||
</Step>
|
||||
|
||||
<Step title="Head over to the Sign On tab and scroll to the bottom to get the metadata, click on the Actions button">
|
||||
<img src="/images/development/guides/auth-and-provision/okta/actions-button.webp" />
|
||||
</Step>
|
||||
|
||||
<Step title="Click on View IdP metadata">
|
||||
<img src="/images/development/guides/auth-and-provision/okta/view-idp-metadata.webp" />
|
||||
</Step>
|
||||
|
||||
<Step title="Copy the metadata and paste it in the Formbricks SAML configuration" />
|
||||
<Step title="Copy the metadata and paste it in the Formbricks SAML configuration"></Step>
|
||||
</Steps>
|
||||
|
||||
That's it. Now when you try to login with SSO, your application on Okta will handle the authentication.
|
||||
That's it. Now when you try to login with SSO, your application on Okta will handle the authentication.
|
||||
|
||||
BIN
docs/image.png
|
Before Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 103 KiB |
@@ -909,6 +909,7 @@ Formbricks v1.2 introduces new features for Link Surveys and enhances security.
|
||||
| Environment Variable | Required | Recommended Generation | Comments |
|
||||
| -------------------- | -------- | ----------------------- | ----------------------------------------------------------- |
|
||||
| `ENCRYPTION_KEY` | true | `openssl rand -hex 32` | Needed for 2 Factor Authentication |
|
||||
| `SHORT_URL_BASE` | false | `<your-short-base-url>` | Needed if you want to enable shorter links for Link Surveys |
|
||||
|
||||
### Deprecated / Removed Environment Variables
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "User Management"
|
||||
description: "Assign different roles to organization members to grant them specific rights like creating surveys, viewing responses, or managing organization members."
|
||||
description:
|
||||
"Assign different roles to organization members to grant them specific rights like creating surveys, viewing responses, or managing organization members."
|
||||
icon: "user"
|
||||
---
|
||||
|
||||
@@ -13,8 +14,9 @@ Learn about the different organization-level and team-level roles and how they a
|
||||
Permissions in Formbricks are broadly handled using organization-level roles, which apply to all teams and projects in the organization. Users on a self-hosting and Enterprise plan, have access to team-level roles, which enable more granular permissions.
|
||||
|
||||
<Note>
|
||||
Access Roles is a feature of the **Enterprise Edition**. In the **Community Edition** and on the **Free**
|
||||
and **Startup** plan in the Cloud you can invite unlimited organization members as `Owner`.
|
||||
Access Roles is a feature of the **Enterprise Edition**. In the **Community
|
||||
Edition** and on the **Free** and **Startup** plan in the Cloud you can invite
|
||||
unlimited organization members as `Owner`.
|
||||
</Note>
|
||||
|
||||
Here are the different access permissions, ranked from highest to lowest access
|
||||
@@ -28,16 +30,16 @@ Here are the different access permissions, ranked from highest to lowest access
|
||||
|
||||
All users and their organization-level roles are listed in **Organization Settings > General**. Users can hold any of the following org-level roles:
|
||||
|
||||
- **Owner** have full access to the organization, its data, and settings. Org Owners can perform Team Admin actions without needing to join the team.
|
||||
- **Manager** have full management access to all teams and projects. They can also manage the organization's membership. Org Managers can perform Team Admin actions without needing to join the team. They cannot change other organization settings.
|
||||
- **Billing** users can manage payment and compliance details in the organization.
|
||||
- **Member** can view most data in the organization and act in the projects they are members of. They cannot join projects on their own and need to be assigned.
|
||||
- **Org Members** can view most data in the organization and act in the projects they are members of. They cannot join projects on their own and need to be assigned.
|
||||
- **Org Managers** have full management access to all teams and projects. They can also manage the organization's membership. Org Managers can perform Team Admin actions without needing to join the team. They cannot change other organization settings.
|
||||
- **Org Owners** have full access to the organization, its data, and settings. Org Owners can perform Team Admin actions without needing to join the team.
|
||||
|
||||
### Permissions at project level
|
||||
|
||||
- **Read**: Read access to all resources (except settings) in the project.
|
||||
- **Read & write**: Read & write access to all resources (except settings) in the project.
|
||||
- **Manage**: Read & write access to all resources including settings in the project.
|
||||
- **read**: read access to all resources (except settings) in the project.
|
||||
- **read & write**: read & write access to all resources (except settings) in the project.
|
||||
- **manage**: read & write access to all resources including settings in the project.
|
||||
|
||||
### Team-level Roles
|
||||
|
||||
@@ -51,32 +53,31 @@ For more information on user roles & permissions, see below:
|
||||
| **Organization** | | | | |
|
||||
| Update organization | ✅ | ❌ | ❌ | ❌ |
|
||||
| Delete organization | ✅ | ❌ | ❌ | ❌ |
|
||||
| Add new member | ✅ | ✅ | ❌ | ❌ |
|
||||
| Delete member | ✅ | ✅ | ❌ | ❌ |
|
||||
| Update member access | ✅ | ✅ | ❌ | ❌ |
|
||||
| Update billing | ✅ | ✅ | ✅ | ❌ |
|
||||
| Add new Member | ✅ | ✅ | ❌ | ❌ |
|
||||
| Delete Member | ✅ | ✅ | ❌ | ❌ |
|
||||
| Update Member Access | ✅ | ✅ | ❌ | ❌ |
|
||||
| Update Billing | ✅ | ✅ | ✅ | ❌ |
|
||||
| **Project** | | | | |
|
||||
| Create project | ✅ | ✅ | ❌ | ❌ |
|
||||
| Update project name | ✅ | ✅ | ❌ | ✅\*\* |
|
||||
| Update project recontact options | ✅ | ✅ | ❌ | ✅\*\* |
|
||||
| Update look & feel | ✅ | ✅ | ❌ | ✅\*\* |
|
||||
| Update survey languages | ✅ | ✅ | ❌ | ✅\*\* |
|
||||
| Delete project | ✅ | ✅ | ❌ | ❌ |
|
||||
| Create Project | ✅ | ✅ | ❌ | ❌ |
|
||||
| Update Project Name | ✅ | ✅ | ❌ | ✅\*\* |
|
||||
| Update Project Recontact Options | ✅ | ✅ | ❌ | ✅\*\* |
|
||||
| Update Look & Feel | ✅ | ✅ | ❌ | ✅\*\* |
|
||||
| Update Survey Languages | ✅ | ✅ | ❌ | ✅\*\* |
|
||||
| Delete Project | ✅ | ✅ | ❌ | ❌ |
|
||||
| **Surveys** | | | | |
|
||||
| Create new survey | ✅ | ✅ | ❌ | ✅\* |
|
||||
| Edit survey | ✅ | ✅ | ❌ | ✅\* |
|
||||
| Delete survey | ✅ | ✅ | ❌ | ✅\* |
|
||||
| Create New Survey | ✅ | ✅ | ❌ | ✅\* |
|
||||
| Edit Survey | ✅ | ✅ | ❌ | ✅\* |
|
||||
| Delete Survey | ✅ | ✅ | ❌ | ✅\* |
|
||||
| View survey results | ✅ | ✅ | ❌ | ✅ |
|
||||
| **Response** | | | | |
|
||||
| Delete response | ✅ | ✅ | ❌ | ✅\* |
|
||||
| Add tags on response | ✅ | ✅ | ❌ | ✅\* |
|
||||
| Edit tags on response | ✅ | ✅ | ❌ | ✅\* |
|
||||
| Download survey responses (CSV) | ✅ | ✅ | ❌ | ✅\* |
|
||||
| **Actions** | | | | |
|
||||
| Create action | ✅ | ✅ | ❌ | ✅\* |
|
||||
| Update action | ✅ | ✅ | ❌ | ✅\* |
|
||||
| Delete action | ✅ | ✅ | ❌ | ✅\* |
|
||||
| **API keys** | | | | |
|
||||
| Create Action | ✅ | ✅ | ❌ | ✅\* |
|
||||
| Update Action | ✅ | ✅ | ❌ | ✅\* |
|
||||
| Delete Action | ✅ | ✅ | ❌ | ✅\* |
|
||||
| **API Keys** | | | | |
|
||||
| Create API key | ✅ | ✅ | ❌ | ✅\*\* |
|
||||
| Update API key | ✅ | ✅ | ❌ | ✅\*\* |
|
||||
| Delete API key | ✅ | ✅ | ❌ | ✅\*\* |
|
||||
@@ -84,10 +85,10 @@ For more information on user roles & permissions, see below:
|
||||
| Create tags | ✅ | ✅ | ❌ | ✅\* |
|
||||
| Update tags | ✅ | ✅ | ❌ | ✅\* |
|
||||
| Delete tags | ✅ | ✅ | ❌ | ✅\*\* |
|
||||
| **Contacts** | | | | |
|
||||
| Delete contact | ✅ | ✅ | ❌ | ✅\* |
|
||||
| **People** | | | | |
|
||||
| Delete Person | ✅ | ✅ | ❌ | ✅\* |
|
||||
| **Integrations** | | | | |
|
||||
| Manage integrations | ✅ | ✅ | ❌ | ✅\* |
|
||||
| Manage Integrations | ✅ | ✅ | ❌ | ✅\* |
|
||||
|
||||
\* - for the read & write permissions team members
|
||||
|
||||
@@ -107,13 +108,16 @@ There are two ways to invite organization members: One by one or in bulk.
|
||||
|
||||

|
||||
|
||||
|
||||
3. In the modal, add the Name, Email and Role of the organization member you want to invite:
|
||||
|
||||

|
||||
|
||||
|
||||
<Note>
|
||||
Access Roles is a feature of the **Enterprise Edition**. In the **Community Edition** and on the **Free**
|
||||
and **Startup** plan in the Cloud you can invite unlimited organization members as `Owners`.
|
||||
Access Roles is a feature of the **Enterprise Edition**. In the **Community
|
||||
Edition** and on the **Free** and **Startup** plan in the Cloud you can invite
|
||||
unlimited organization members as `Owners`.
|
||||
</Note>
|
||||
|
||||
Formbricks sends an email to the organization member with an invitation link. The organization member can accept the invitation or create a new account by clicking on the link.
|
||||
@@ -124,6 +128,7 @@ Formbricks sends an email to the organization member with an invitation link. Th
|
||||
|
||||

|
||||
|
||||
|
||||
2. Click on the `Add member` button:
|
||||
|
||||

|
||||
|
||||
@@ -6,130 +6,91 @@ icon: "code"
|
||||
|
||||
## **How Do Actions Work?**
|
||||
|
||||
<Steps>
|
||||
<Step title="User performs action">
|
||||
The user performs an action in your application.
|
||||
</Step>
|
||||
Actions in Formbricks App Surveys are deeply integrated with user activities within your app. When a user performs a specified action, the Formbricks widget detects this activity and can present a survey to that specific user if the trigger conditions match for that survey. This capability ensures that surveys are triggered at the right time. You can set up these actions through a user-friendly No-Code interface within the Formbricks dashboard.
|
||||
|
||||
<Step title="Formbricks widget detects action">
|
||||
The embedded widget (SDK) detects the action, if you set up a [No Code Action](/xm-and-surveys/surveys/website-app-surveys/actions#setting-up-no-code-actions) or a [Code Action](/xm-and-surveys/surveys/website-app-surveys/actions#setting-up-code-actions) to do so.
|
||||
</Step>
|
||||
## **Why Are Actions Useful?**
|
||||
|
||||
<Step title="Check for survey trigger">
|
||||
If a survey is set to trigger on that action, Formbricks checks if the user or visitor qualifies.
|
||||
</Step>
|
||||
Actions are invaluable for enhancing survey relevance and effectiveness:
|
||||
|
||||
<Step title="Check for user or visitor qualification">
|
||||
If the user or visitor already filled out a survey in the past couple of days (see [Global Waiting Time](/xm-and-surveys/surveys/website-app-surveys/recontact#project-wide-global-waiting-time)), the survey will not be shown to prevent survey fatigue.
|
||||
- **Personalized Engagement**: Surveys triggered by user actions ensure content is highly relevant and engaging, matching each user’s current context.
|
||||
|
||||
Also, if this user or visitor has seen this specific survey before, Formbricks might not show it as this is dependent on the [Recontact Options](/xm-and-surveys/surveys/website-app-surveys/recontact).
|
||||
</Step>
|
||||
- **User Attributes**: By tying surveys to specific user attributes, such as activity levels or feature usage, you can customize the survey experience to reflect individual user profiles.
|
||||
|
||||
<Step title="Show survey">
|
||||
If all conditions match, the survey is shown.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
<Tip>
|
||||
Tying surveys to specific user actions enables **context-aware surveying**: You make sure that your user research is relevant to the current user context which leads to sign**ificantly higher response and completions rates** as well as lower survey fatigue.
|
||||
</Tip>
|
||||
- **User Targeting**: Precise targeting based on user attributes ensures that surveys are shown only to users who meet certain criteria, enhancing the relevance and effectiveness of each survey.
|
||||
|
||||
## **Setting Up No-Code Actions**
|
||||
|
||||
Formbricks offers an intuitive No-Code interface that allows you to configure actions without needing to write any code.
|
||||
|
||||
<Note>
|
||||
No Code Actions are **not available for surveys in mobile apps**. No Code Action tracking are heavily dependent on JavaScript and most mobile apps are compiled into a different programming language. To track user actions in mobile apps use [Code Actions.](/xm-and-surveys/surveys/website-app-surveys/actions#setting-up-code-actions)
|
||||
</Note>
|
||||
To add a No-Code Action:
|
||||
|
||||
<Steps>
|
||||
<Step title="Visit the Actions tab via the main navigation">
|
||||

|
||||
</Step>
|
||||
1. Visit the Formbricks Dashboard & switch to the Actions tab:
|
||||
|
||||
<Step title="Click on “Add Action” in the top right corner to see the following:">
|
||||

|
||||
</Step>
|
||||
</Steps>
|
||||

|
||||
|
||||
There are four types of No-Code actions:
|
||||
1. Now click on “Add Action”
|
||||
|
||||
### **1. Click Actio**n
|
||||

|
||||
|
||||
A Click Action is triggered when a user clicks on a specific element within your application. You can define the element's inner text, CSS selector or both to trigger the survey.
|
||||
Here are four types of No-Code actions you can set up:
|
||||
|
||||
* **Inner Text**: Checks if the innerText of a clicked HTML element, like a button label, matches a specific text. This action allows you to display a survey based on text interactions within your application.
|
||||
### **1. Click Action**
|
||||
|
||||
* **CSS Selector**: Verifies if a clicked HTML element matches a provided CSS selector, such as a class, ID, or any other CSS selector used in your website. It enables survey triggers based on element interactions.
|
||||
Click Action is triggered when a user clicks on a specific element within your application. You can define the element's inner text or CSS selector to trigger the survey.
|
||||
|
||||
* **Both**: Only if both is true, the action is triggered
|
||||
- **Inner Text**: Checks if the innerText of a clicked HTML element, like a button label, matches a specific text. This action allows you to display a survey based on text interactions within your application.
|
||||
|
||||
### **2. Page View Action**
|
||||
- **CSS Selector**: Verifies if a clicked HTML element matches a provided CSS selector, such as a class, ID, or any other CSS selector used in your website. It enables survey triggers based on element interactions.
|
||||
|
||||

|
||||
### **2. Page view Action**
|
||||
|
||||
This action is triggered when a user visits a page within your application.
|
||||
|
||||
### **3. Exit Intent Action**
|
||||
|
||||

|
||||
|
||||
This action is triggered when a user is about to leave your application. It helps capture user feedback before they exit, providing valuable insights into user experiences and potential improvements.
|
||||
|
||||
### **4. 50% Scroll Action**
|
||||
|
||||

|
||||
|
||||
This action is triggered when a user scrolls through 50% of a page within your application. It helps capture user feedback at a specific point in their journey, enabling you to gather insights based on user interactions.
|
||||
|
||||
This action is triggered when a user visits a specific page within your application. You can define the URL match conditions as follows:
|
||||
|
||||
You can combine the url filters with any of the no-code actions to trigger the survey based on the URL match conditions.
|
||||
|
||||
### **Page Filter**
|
||||
### **URL Match Conditions**
|
||||
|
||||
You can limit action tracking to specific subpages of your website or web app by using the Page Filter. Here you can use a variety of URL filter settings:
|
||||
- **exactMatch**: Triggers the action when the URL exactly matches the specified string.
|
||||
|
||||
* **exactMatch**: Triggers the action when the URL exactly matches the specified string.
|
||||
- **contains**: Activates when the URL contains the specified substring.
|
||||
|
||||
* **contains**: Activates when the URL contains the specified substring.
|
||||
- **startsWith**: Fires when the URL starts with the specified string.
|
||||
|
||||
* **startsWith**: Fires when the URL starts with the specified string.
|
||||
- **endsWith**: Executes when the URL ends with the specified string.
|
||||
|
||||
* **endsWith**: Executes when the URL ends with the specified string.
|
||||
- **notMatch**: Triggers when the URL does not match the specified condition.
|
||||
|
||||
* **notMatch**: Triggers when the URL does not match the specified condition.
|
||||
|
||||
* **notContains**: Activates when the URL does not contain the specified substring.
|
||||
- **notContains**: Activates when the URL does not contain the specified substring.
|
||||
|
||||
## **Setting Up Code Actions**
|
||||
|
||||
For more granular control, you can implement actions directly in your code:
|
||||
For more granular control, you can implement actions directly in your codebase:
|
||||
|
||||
<Steps>
|
||||
<Step title="Configure action in Formbricks">
|
||||
First, add the action via the Formbricks web interface to make it available for survey configuration:
|
||||
1. **Configure the Action**: First, add the action via the Formbricks web interface to make it available for survey configuration.
|
||||
After that you can fire an action using `formbricks.track()`
|
||||
|
||||

|
||||
</Step>
|
||||
2. **Track an Action**: Use formbricks.track() to send an action event to Formbricks.
|
||||
|
||||
<Step title="Add action tracking to your code">
|
||||
Use formbricks.track() to send an action event to Formbricks:
|
||||
```javascript Track an action formbricks.track("Action Name");
|
||||
|
||||
```
|
||||
formbricks.track("action");
|
||||
```
|
||||
```
|
||||
|
||||
Here is an example of how to fire an action when a user clicks a button:
|
||||
Here is an example of how to fire an action when a user clicks a button:
|
||||
|
||||
```javascript
|
||||
const handleClick = () => {
|
||||
formbricks.track("Button Clicked");
|
||||
};
|
||||
```javascript Track Button Click
|
||||
const handleClick = () => {
|
||||
formbricks.track("Button Clicked");
|
||||
};
|
||||
|
||||
return <button onClick={handleClick}>Click Me</button>;
|
||||
```
|
||||
|
||||
|
||||
</Step>
|
||||
</Steps>
|
||||
return <button onClick={handleClick}>Click Me</button>;
|
||||
```
|
||||
|
||||
@@ -1,63 +1,28 @@
|
||||
---
|
||||
title: "Advanced Targeting"
|
||||
description: "Advanced Targeting allows you to show surveys to a specific segment of your users. You can target surveys based on user attributes, device type, and more. This helps you get more relevant insights while keeping survey fatigue at a minimum. After the initial setup, you can target any segment without touching code."
|
||||
description: "Advanced Targeting allows you to show surveys to the right group of people. You can target surveys based on user attributes, device type, and more instead of spraying and praying. This helps you get more relevant feedback and make data-driven decisions. All of this without writing a single line of code."
|
||||
icon: "bullseye"
|
||||
---
|
||||
|
||||
<Info>
|
||||
Advanced Targeting is available on paid plans for both Formbricks Cloud and On Premise.
|
||||
</Info>
|
||||
|
||||
### When to use Advanced Targeting?
|
||||
## How to setup Advanced Targeting
|
||||
|
||||
Advanced Targeting helps you achieve a number of goals:
|
||||
<Note>
|
||||
Advanced Targeting is only available on the Pro plan!
|
||||
</Note>
|
||||
|
||||
1. **Relevance**: Keep survey content relevant to respondents.
|
||||
* On the Formbricks dashboard, click on **People** tab from the top navigation bar.
|
||||
|
||||
2. **Cohort-analysis**: Survey specific user cohorts only.
|
||||
* Switch to the **Segments** tab & click on **Create Segment**.
|
||||
|
||||
3. **Statistical Relevance:** When surveying a smaller subset of users, statistical relevance is reached with a lot less responses.
|
||||
* Give your segment a title & a description to help you remember what this segment is about.
|
||||
|
||||
## How does Advanced Targeting work?
|
||||
* Now click on the **Add Filter** button to add a filter. You can filter based on user attributes, other segments, devices, and more.
|
||||
|
||||
<Steps>
|
||||
<Step title="Create Segment">
|
||||
To get started, go to the Contacts tab and create a new Segment:
|
||||
* To group a set of filters together, click on the Three Dots icon on the right side of the filter and click on **Create Group**.
|
||||
|
||||

|
||||
</Step>
|
||||
* Try playing around with different filters & conditions that we have provided to see how the segment size changes.
|
||||
|
||||
<Step title="Configure Segment based on attributes">
|
||||
In the Segment editor, you can configure your Segment with a combination of Attributes, Segments and Devices. If a user matches either or all of the criteria, they become part of the Segment. See [Segment Configuration](/xm-and-surveys/surveys/website-app-surveys/advanced-targeting#segment-configuration) below.
|
||||
</Step>
|
||||
* Once you are happy with the segment, click on **Save Segment**.
|
||||
|
||||
<Step title="Create a survey of type Website & App">
|
||||
Create a new survey and go to Settings to change it to Website & App survey:
|
||||
|
||||

|
||||
</Step>
|
||||
|
||||
<Step title="Choose Segment in Targeting options">
|
||||

|
||||
</Step>
|
||||
|
||||
<Step title="Publish your survey" icon="party-horn" iconType="solid" />
|
||||
</Steps>
|
||||
|
||||
### Segment Configuration
|
||||
|
||||
There are three means to move Contacts in or out of Segments: **Attributes**, other **Segments** and **Devices**:
|
||||
|
||||
1. **Attributes**: If the value of a specific attribute matches, the user becomes part of the Segment.
|
||||
|
||||

|
||||
|
||||
2. **Segments**: You can nest Segments meaning that if a user is or is not part of another Segment, they can be included or excluded
|
||||
|
||||

|
||||
|
||||
3. **Devices**: If a user uses a Phone or Desktop, you can include or exclude them
|
||||
|
||||

|
||||
|
||||
4. **Filter Groups:** You can group any of the above conditions in group and connect them logically with `AND` or `OR`. This allows for maximum granularity.
|
||||
* Now, when you create a survey, you can select this segment to target your survey to.
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Survey % of Users"
|
||||
title: "Show Survey to % of Users"
|
||||
description: "Formbricks allows you to display surveys to only a percentage of your targeted users."
|
||||
icon: "percent"
|
||||
---
|
||||
@@ -25,15 +25,15 @@ Set up this feature to control how many users see your survey, using a simple sl
|
||||
|
||||

|
||||
|
||||
* Select **`Survey Trigger`** from the menu options.
|
||||
- Select **`Survey Trigger`** from the menu options.
|
||||
|
||||
* Choose **`Survey Display Settings`** to access visibility controls.
|
||||
- Choose **`Survey Display Settings`** to access visibility controls.
|
||||
|
||||
1. **Adjust User Visibility Percentage**:
|
||||
4. **Adjust User Visibility Percentage**:
|
||||
|
||||
* Find the **`Show Survey to % of Users`** toggle. Enable it.
|
||||
- Find the **`Show Survey to % of Users`** toggle. Enable it.
|
||||
|
||||
* Enter the desired percentage (from 0.01% to 100%) of users to whom the survey will be shown.
|
||||
- Enter the desired percentage (from 0.01% to 100%) of users to whom the survey will be shown.
|
||||
|
||||

|
||||
|
||||
@@ -51,12 +51,12 @@ For instance, if you want to expose your survey to only half of your targeted us
|
||||
|
||||
It's effective for:
|
||||
|
||||
* **A/B Testing**: Compare different user experiences by showing different surveys or survey variations to different segments of your audience.
|
||||
- **A/B Testing**: Compare different user experiences by showing different surveys or survey variations to different segments of your audience.
|
||||
|
||||
* **Gradual Rollouts**: Gradually introduce a new survey to a portion of your users to monitor initial responses and adjust based on feedback before full deployment.
|
||||
- **Gradual Rollouts**: Gradually introduce a new survey to a portion of your users to monitor initial responses and adjust based on feedback before full deployment.
|
||||
|
||||
* **Load Management**: Manage server load and response processing by limiting the number of responses collected at any given time.
|
||||
- **Load Management**: Manage server load and response processing by limiting the number of responses collected at any given time.
|
||||
|
||||
## **Conclusion**
|
||||
|
||||
Using the **Show Survey to % of Users** feature allows for precise control over who sees your Formbricks surveys, making it an invaluable feature for targeted data collection and user experience management. By adjusting survey visibility settings, you can strategically engage segments of your audience, enhance survey testing phases, and optimize overall survey effectiveness.
|
||||
Using the **Show Survey to % of Users** feature allows for precise control over who sees your Formbricks surveys, making it an invaluable feature for targeted data collection and user experience management. By adjusting survey visibility settings, you can strategically engage segments of your audience, enhance survey testing phases, and optimize overall survey effectiveness.
|
||||
|
||||
@@ -8,6 +8,8 @@ export const IS_FORMBRICKS_CLOUD = env.IS_FORMBRICKS_CLOUD === "1";
|
||||
export const WEBAPP_URL =
|
||||
env.WEBAPP_URL || (env.VERCEL_URL ? `https://${env.VERCEL_URL}` : false) || "http://localhost:3000";
|
||||
|
||||
export const SHORT_URL_BASE = env.SHORT_URL_BASE ? env.SHORT_URL_BASE : WEBAPP_URL;
|
||||
|
||||
// encryption keys
|
||||
export const FORMBRICKS_ENCRYPTION_KEY = env.FORMBRICKS_ENCRYPTION_KEY || undefined;
|
||||
export const ENCRYPTION_KEY = env.ENCRYPTION_KEY;
|
||||
|
||||
@@ -73,6 +73,7 @@ export const env = createEnv({
|
||||
S3_SECRET_KEY: z.string().optional(),
|
||||
S3_ENDPOINT_URL: z.string().optional(),
|
||||
S3_FORCE_PATH_STYLE: z.enum(["1", "0"]).optional(),
|
||||
SHORT_URL_BASE: z.string().url().optional().or(z.string().length(0)),
|
||||
SIGNUP_DISABLED: z.enum(["1", "0"]).optional(),
|
||||
SLACK_CLIENT_ID: z.string().optional(),
|
||||
SLACK_CLIENT_SECRET: z.string().optional(),
|
||||
@@ -196,6 +197,7 @@ export const env = createEnv({
|
||||
S3_SECRET_KEY: process.env.S3_SECRET_KEY,
|
||||
S3_ENDPOINT_URL: process.env.S3_ENDPOINT_URL,
|
||||
S3_FORCE_PATH_STYLE: process.env.S3_FORCE_PATH_STYLE,
|
||||
SHORT_URL_BASE: process.env.SHORT_URL_BASE,
|
||||
SIGNUP_DISABLED: process.env.SIGNUP_DISABLED,
|
||||
SLACK_CLIENT_ID: process.env.SLACK_CLIENT_ID,
|
||||
SLACK_CLIENT_SECRET: process.env.SLACK_CLIENT_SECRET,
|
||||
|
||||
@@ -159,6 +159,7 @@
|
||||
"S3_REGION",
|
||||
"S3_SECRET_KEY",
|
||||
"SENTRY_DSN",
|
||||
"SHORT_URL_BASE",
|
||||
"SIGNUP_DISABLED",
|
||||
"SLACK_CLIENT_ID",
|
||||
"SLACK_CLIENT_SECRET",
|
||||
|
||||