Get Started
Everything you need to know about Iterato
Iterato is an AI-powered product manager designed to help businesses collect, analyze, and act on feedback directly from their digital products (websites, web apps, and mobile apps). By embedding a script and triggering context-specific feedback requests, Iterato captures real-time user insights and presents them in a structured, actionable format.
Iterato helps:
- Gather live user feedback on features and interactions.
- Track events and tie them to user responses.
- Provide AI-summarized conversations and diagnostics.
Hierarchy & Verbiage
Understanding the structure of how data flows in Iterato:
Project
The top-level container. Every business or department can create one or more projects. Each
project has its own unique project_id.
Event
Within a project, multiple events are created. Each event corresponds to a feedback
collection point. Each event has a unique event_id.
Feedback
Associated with a specific event. Includes reaction, user info, browser logs, AI summary, IP details, and more.
Project
├── Event 1
│ ├── Feedback 1
│ └── Feedback 2
└── Event 2
└── Feedback 3
What is a Project ID?
A project_id is a unique identifier assigned to every project created in Iterato. It
acts as the primary reference key to:
- Initialize the service
- Fetch or filter feedback
- Identify feedbacks within a business use case
This ID must be used to initialize Iterato SDK on your website/app.
IteratoService.init("project-ms6djd");
What is an Event ID?
An event_id refers to a specific moment or scenario within a project where feedback is
collected.
You define an event_id for any context you want to capture feedback for—like a live
session, purchase completion, or onboarding.
Example Use Cases:
live-event-poiu82checkout-success-239sdjfeature-toggle-darkmode
How it's used:
IteratoService.collect("live-event-poiu82", ["interacted-with-chat"]);
Every feedback is mapped back to an event_id for context and segmentation.
Integration Guide
Get up and running in under 5 minutes
Include the Iterato Script
Add this script tag to the <head> section of your HTML page.
<script src="https://cdn.jsdelivr.net/gh/Iterato-ai/js@latest/1.0.min.js"></script>
https://cdn.jsdelivr.net/gh/Iterato-ai/js@main/1o0.js
Initialize the Service
Call IteratoService.init() with your project ID to activate the SDK.
(async function () {
try {
const initIterato = await IteratoService.init("project-5woc8");
if (initIterato) {
console.log("Service initiated successfully!");
}
} catch (error) {
console.error("Error during initiation:", error);
}
})();
Promise<Boolean> — resolves to true on success.
Set User Context (Optional)
Associate user data with feedback for richer insights. Pass any key-value pairs you need.
IteratoService.setUser({
uid: "User12617246148791",
userName: "John",
userEmail: "[email protected]",
plan: "Premium",
Features: ["Live Streaming", "Video Uploads"]
});
Boolean — true if user object was set successfully.
Trigger Feedback Collection
Call IteratoService.collect() at any event to show the feedback toast.
// Basic usage
IteratoService.collect("checkout-success");
// With configuration
IteratoService.collect("live-event-poiu82", {
tags: ["onboarding", "cta-clicked"],
reaction_type: "smiley",
followup_if_negative: true,
question_count: 3
});
Trigger Feedback Toast
IteratoService.collect(event_id, toast_config?)
Description: Triggers a feedback toast for a specific event.
Parameters:
event_id(String, required): Unique identifier for the event defined in your Iterato dashboard.toast_config(Object, optional): Optional config object to tailor the feedback prompt.
toast_config Fields:
| Key | Type | Description |
|---|---|---|
tags |
Array<String> | Contextual tags related to the event. |
reaction_type |
String | Determines the style of the feedback prompt. Options: "smiley" (default), or "thumb" for thumbs-based reactions. Invalid values default to "smiley". |
followup_if_positive |
Boolean | Show follow-up question after a positive response. |
followup_if_neutral |
Boolean | Show follow-up question after a neutral response. It is only applicable if reaction_type is smiley. |
followup_if_negative |
Boolean | Show follow-up question after a negative response. |
focused_chat |
Boolean | Add/Remove background overlay when user is in feedback conversation mode. |
initial_prompt |
String | Question shown with thumbs up/down. |
followup_prompt |
String | Question shown if user opts to provide more feedback. |
question_count |
Integer | Total number of questions to ask. It can be between 2 & 7. Default is 3. Recommended to set it to 3 or 4. |
first_prompt_timeout |
Integer | Defines the duration (in milliseconds) for which the initial feedback prompt remains visible before automatically dismissing itself. It can be set between 2500 (25 seconds) & 60000 (1 minute) If not provided, a default timeout of 6000 (6 seconds) is applied. |
Extra keys in toast_config are ignored safely.
Example Usage:
// Basic
IteratoService.collect("live-event-poiu82");
// With toast_config
IteratoService.collect("live-event-poiu82", {
tags: ["onboarding", "cta-clicked"],
reaction_type: "smiley" // or "thumb"
followup_if_positive: false,
followup_if_negative: true,
followup_if_neutral: true,
focused_chat: true,
initial_prompt: "Was this onboarding helpful?",
followup_prompt: "Would you like to tell us more?",
question_count: 3,
first_prompt_timeout: 6000
});
- Make sure you call
init()before any other function. - Use
setUser()early if you want to track user-specific insights. - Events and tags should be meaningful and consistently used for best results in analytics.
For any support or help, contact us at [email protected].
API Documentation
Programmatic access to your feedback data
Use the Iterato REST API to fetch, filter, and analyze feedback data from your applications.
POST /listFeedbacks
Endpoint
https://api.iterato.ai/listFeedbacks
Method
POST
Authentication
All requests must include a Bearer Token in the header.
Authorization: Bearer <secret_key>
Content-Type: application/json
Request Parameters
| Name | Type | Required | Description |
|---|---|---|---|
project_id |
String | Yes | The unique project ID associated with the Iterato account. |
tag |
String | No | Optional filter tag to narrow down feedback results. |
event_id |
String | No | Optional event identifier to filter feedback for a specific event. |
Example Request
curl --location 'https://api.iterato.ai/listFeedbacks' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer your_secret_key' \
--data '{
"project_id": "project-2141as",
"tag": "tag_name",
"event_id": "event-251351"
}'
Response Fields
| Field Name | Type | Description |
|---|---|---|
event_id |
String | The associated event ID. |
user_info |
JSON | User details passed during setUser(). |
reaction |
String | Either positive or negative. |
conversation_summery |
String | AI-generated summary of the feedback conversation. |
created_at |
DateTime | Timestamp in ISO 8601 (GMT +0:00) format. |
Example Response
{
"1746612495284guamgm3xe75": {
"event_id": "live-event-2511",
"user_info": {"username": "John", "userEmail": "[email protected]"},
"reaction": "positive",
"conversation_summery": "The feedback summery is not yet generated!",
"created_at": "2025-05-07T10:08:20.714Z"
},
"1746612510250po1gvf4bcmg": {
"event_id": "live-event-2511",
"user_info": {},
"reaction": "negative",
"conversation_summery": "User was facing issue with live chat, reported lag",
"created_at": "2025-05-010T11:18:26.714Z"
}
}
The conversation_summary provides an AI-generated overview of the conversation. Summaries are refreshed every 15 minutes after feedback is collected.
- The summary will be available 15 minutes after the associated feedback is submitted.
- Until the summary is generated, the field will return the following default string:
"The feedback summary has not yet been generated."
Error Responses
| Status Code | Description |
|---|---|
| 400 | Missing required fields (e.g., project_id). |
| 401 | Authentication failure (Invalid secret key or mismatched ID). |
| 500 | Internal server error. |
Contact us at [email protected] for support.