---
title: Product-Market Fit Survey
product: Survey Creator
description: Create a product-market fit survey to learn how your customers feel about your products and services. Inspire with this free template for JavaScript and select questions you like most.
framework: React
source: https://surveyjs.io/survey-creator/examples/product-market-fit-survey-template/reactjs
index: https://surveyjs.io/survey-creator/examples/overview.md
---

# Product-Market Fit Survey (React)

## Files

### `public/index.html`

```html
<!-- Uncomment the following lines to enable Ace Editor in the JSON Editor tab -->
<!-- 
<script src="https://unpkg.com/ace-builds/src-min-noconflict/ace.js"></script>
<script src="https://unpkg.com/ace-builds/src-min-noconflict/ext-searchbox.js"></script>
<script src="https://unpkg.com/ace-builds/src-min-noconflict/theme-clouds_midnight.js"></script>
-->

<div id="surveyCreatorContainer" style="position: absolute; height: 100%; width: 100%"></div>
```

### `src/survey_json.js`

```js
export const surveyJSON = {
    "title": "Product/Market Fit Survey Template",
    "logo": "https://surveyjs.io/Content/Images/examples/logo.png",
    "logoHeight": "60px",
    "headerView": "advanced",
    "pages": [
        {
            "name": "page1",
            "elements": [
                {
                    "type": "radiogroup",
                    "name": "customer_role",
                    "title": "What best describes your role?",
                    "choices": [
                        "Engineering Lead",
                        "Project Manager",
                        "Software Developer",
                        "Designer",
                        "Product Manager",
                        "CEO / Founder",
                        "Customer Support"
                    ],
                    "showOtherItem": true,
                    "otherText": "Other",
                    "colCount": 3
                },
                {
                    "type": "radiogroup",
                    "name": "start_using",
                    "title": "How did you start using the product?",
                    "choices": [
                        {
                            "value": "created",
                            "text": "I created my account"
                        },
                        {
                            "value": "invited",
                            "text": "I was invited to an account"
                        }
                    ]
                },
                {
                    "type": "radiogroup",
                    "name": "product_discovering",
                    "title": "How did you first discover the product? ",
                    "choices": [
                        "Friend or colleague",
                        "Search engine",
                        "Facebook",
                        "Twitter",
                        "Blog"
                    ],
                    "showOtherItem": true,
                    "otherText": "Other",
                    "colCount": 3
                },
                {
                    "type": "radiogroup",
                    "name": "paid_customer",
                    "title": "Do you currently pay for the product? ",
                    "isRequired": true,
                    "choices": [
                        "Yes",
                        "No"
                    ]
                }
            ]
        },
        {
            "name": "page2",
            "elements": [
                {
                    "type": "radiogroup",
                    "name": "product_fit",
                    "title": "How would you feel if you could no longer use the product?",
                    "isRequired": true,
                    "choices": [
                        {
                            "value": "3",
                            "text": "Very disappointed"
                        },
                        {
                            "value": "2",
                            "text": "Somewhat disappointed"
                        },
                        {
                            "value": "1",
                            "text": "Not disappointed"
                        }
                    ]
                },
                {
                    "type": "comment",
                    "name": "product_fit_comment",
                    "visibleIf": "{product_fit} notempty",
                    "title": "Please help us understand why you selected the answer above"
                }
            ]
        },
        {
            "name": "page3",
            "elements": [
                {
                    "type": "radiogroup",
                    "name": "product_alternative",
                    "title": "What would you use as an alternative if [the product] were no\nlonger available?",
                    "choices": [
                        "Alternative 1",
                        "Alternative 2",
                        "Alternative 3",
                        "Alternative 4",
                        "Alternative 5",
                        "Alternative 6"
                    ],
                    "showOtherItem": true,
                    "otherText": "Other (please name)",
                    "colCount": 3
                },
                {
                    "type": "radiogroup",
                    "name": "product_benefit",
                    "title": "What is the primary benefit that you have received from the\nproduct?",
                    "choices": [
                        "Benefit 1",
                        "Benefit 2",
                        "Benefit 3",
                        "Benefit 4",
                        "Benefit 5",
                        "Benefit 6"
                    ],
                    "showOtherItem": true,
                    "colCount": 3
                },
                {
                    "type": "radiogroup",
                    "name": "product_recommend",
                    "title": "Have you recommended the product to anyone?",
                    "choices": [
                        "Yes",
                        "No"
                    ]
                }
            ]
        },
        {
            "name": "page4",
            "elements": [
                {
                    "type": "rating",
                    "name": "nps_score",
                    "title": "How likely are you to recommend the product to a friend or\ncolleague? ",
                    "isRequired": true,
                    "rateMin": 0,
                    "rateMax": 10,
                    "minRateDescription": "Most unlikely",
                    "maxRateDescription": "Most likely"
                },
                {
                    "type": "radiogroup",
                    "name": "favorite_functionality",
                    "title": "What's your favorite functionality / add-on for the product?",
                    "choices": [
                        "Feature 1",
                        "Feature 2",
                        "Feature 3",
                        "Feature 4",
                        "Feature 5",
                        "Feature 6"
                    ],
                    "showOtherItem": true,
                    "colCount": 3
                },
                {
                    "type": "comment",
                    "name": "product_improvement",
                    "title": "How could the product be improved to better meet your\nneeds?"
                }
            ]
        },
        {
            "name": "page5",
            "elements": [
                {
                    "type": "multipletext",
                    "name": "contact_customer",
                    "title": "Want us to follow-up? Leave your name and email here:",
                    "items": [
                        {
                            "name": "Name"
                        },
                        {
                            "name": "E-mail",
                            "inputType": "email",
                            "validators": [
                                {
                                    "type": "email"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
};
```

### `src/SurveyCreatorComponent.jsx`

```js
import React from "react";
import { SurveyCreator, SurveyCreatorComponent } from "survey-creator-react";
import "survey-core/survey.i18n";
import "survey-creator-core/survey-creator-core.i18n";
import { surveyJSON } from "./survey_json";
import "survey-core/survey-core.css";
import "survey-creator-core/survey-creator-core.css";
import "./index.css";

import SurveyTheme from "survey-core/themes";
import { registerCreatorTheme } from "survey-creator-core";

registerCreatorTheme(SurveyTheme); // Add predefined Survey Creator UI themes

function SurveyCreatorRenderComponent() {
    const creator = new SurveyCreator();
    creator.JSON = surveyJSON;
    return (<SurveyCreatorComponent creator={creator} />);
}

export default SurveyCreatorRenderComponent;
```

### `src/index.css`

```css
/* You can add your custom CSS here. */
```

### `src/index.js`

```js
import React from "react";
import { createRoot } from "react-dom/client";
import SurveyCreatorRenderComponent from "./SurveyCreatorComponent";

const root = createRoot(document.getElementById("surveyCreatorContainer"));
root.render(<SurveyCreatorRenderComponent />);
```

### `package.json`

```json
{
  "dependencies": {
    "react": "latest",
    "react-dom": "latest",
    "survey-core": "latest",
    "survey-react-ui": "latest",
    "survey-creator-core": "latest",
    "survey-creator-react": "latest"
  },
  "devDependencies": {
    "react-scripts": "latest"
  }
}
```

## Other Frameworks

- [Angular](https://surveyjs.io/survey-creator/examples/product-market-fit-survey-template/angular.md)
- [Vue 3](https://surveyjs.io/survey-creator/examples/product-market-fit-survey-template/vue3js.md)
- [jQuery](https://surveyjs.io/survey-creator/examples/product-market-fit-survey-template/jquery.md)
- [Vanilla JS](https://surveyjs.io/survey-creator/examples/product-market-fit-survey-template/vanillajs.md)
