Popin 3P Events Documentation

Popin 3P Events Documentation

Popin provides JavaScript events through window.popinEvent to help track user actions, permissions, and call activities on the widget.

Integration

Place the following snippet below the Popin integration script:

window.popinEvent = (event, data) => {
  if (event === "popin_captured") {
    // Facebook Pixel Example
    fbq("trackCustom", "popinCapture", {
      name: data.name,
      mobile: data.mobile,
    });

    // Google Ads (gtag) Example
    gtag('event', 'Lead', {
      send_to: 'AW-XXXXXX/YYYY-ZZZZ', // Replace with your Google Ads conversion ID
      user_data: {
        phone_number: data.mobile,
        name: data.name,
      },
    });
  }
};

Each event is triggered with a specific payload. You can integrate these events with your analytics, backend systems, or third-party tools.


Event Reference

1. nudge_show

Description: Triggered when a nudge popup is displayed to the user.
Payload:

{
  "uid": "string"
}

2. nudge_open

Description: Triggered when the user opens the nudge popup.
Payload:

{
  "uid": "string"
}

3. nudge_close

Description: Triggered when the user closes the nudge popup.
Payload:

{
  "uid": "string"
}

4. popin_permission_given

Description: Triggered when the user grants microphone and/or camera permissions.
Payload:

{
  "uid": "string",
  "audio": true,
  "video": true
}

5. popin_permission_denied

Description: Triggered when the user denies microphone and/or camera permissions.
Payload:

{
  "uid": "string",
  "audio": true,
  "video": true
}

6. popin_call_missed

Description: Triggered when the expert is busy and cannot take the call.
Payload:

{
  "uid": "string"
}

7. popin_rating_done

Description: Triggered when the user submits a rating and optional feedback after a call.
Payload:

{
  "uid": "string",
  "rating": "integer",
  "comment": "string"
}

8. popin_schedule_created

Description: Triggered when the user schedules a call.
Payload:

{
  "uid": "string",
  "timezone": "string",
  "time": "string"
}

9. popin_call_end

Description: Triggered when a call ends.
Payload:

{
  "uid": "string",
  "callId": "string",
  "invited": true
}

10. popin_captured

Description: Triggered when a new user/lead is captured via the widget.
Empty or null fields are automatically filtered out.
Payload:

{
  "name": "string",
  "email": "string",
  "country": "string",
  "mobile": "string",
  "city": "string",
  "pin_code": "string",
  "group": "string",
  "uid": "string"
}

11. popin_navigated

Description: Triggered when the user navigates to different screens.
Payload:

{
  "uid": "string",
  "screen": "string"
}

Available Screens:

  • SCREEN_CAPTURE_USER_INFO – Screen that captures user info like name, number, email, etc.

  • SCREEN_CONNECT_OR_SCHEDULE – Screen to choose between a live call or scheduling a call for later.

  • SCREEN_CONNECT_GATE_QUEUE – Permission screen.

  • SCREEN_SCHEDULE_CALLBACK – Screen where customers can book a callback.

  • PRODUCT_CART – Cart page where customers can add products.

  • SCREEN_EVENT_LIST – Screen listing all events.

  • SCREEN_RECENT_PRODUCTS – Screen showing recently viewed products plus other products.

  • SCREEN_SCHEDULE_CALENDAR – Screen where customers can select a date and time.

  • SCREEN_FAQ_VIEW – Screen where customers can see frequently asked questions.

  • SCREEN_ASK_QUESTION_INPUT – Screen where customers can post a question.

  • SCREEN_ASK_QUESTION_CONFIRM – Confirmation screen after posting a question.

  • SCREEN_FAQ_SELECTIVE – Screen where customers can select a video FAQ to play.

  • SCREEN_RETURNING_USER – Screen displayed when the customer reopens the widget after a call.

  • SCREEN_SCHEDULE_SLOTS – Screen where customers can view and select a time slot for scheduling a call.

  • SCREEN_EXPERTS_BUSY – Screen displayed when all experts are busy.

  • SCREEN_VIDEO_CALL – The video calling screen where customers can video call an agent.

  • SCREEN_CHAT – Chat window where customers can chat with an agent.

  • SCREEN_REVIEW_AGENT – Screen displayed after the call to review the agent.

  • SCREEN_SCHEDULE_WAITING – Screen displayed after a call is scheduled and the widget is reopened.

  • SCREEN_INVITE_CALL_EXPIRED – Screen displayed when a participant tries to join a group call that is no longer active.


12. popin_auto_captured

Description: Triggered on auto capture / logged-in flow.
Payload:

{
  "uid": "string",
  "captured": "object"
}

13. popin_open

Description: Triggered when the Popin widget opens.
Payload:

{
  "uid": "string"
}

14. popin_close

Description: Triggered when the Popin widget closes.
Payload:

{
  "uid": "string"
}

Notes

  • All events include a uid field that identifies the user session.

  • Payloads may vary depending on user input, permissions, and widget configuration.

  • Handle optional fields gracefully — they may be omitted if not provided by the user.

    • Related Articles

    • Popin Insta Call API Documentation

      This documentation covers the Popin Insta Call APIs for capturing users, creating video call links, retrieving available time slots, and scheduling video calls, with full support for advanced routing, tracking, and customization options. 🔐 ...
    • Popin Export Report API Documentation

      The Popin Export Report API allows you to export and download reports related to customer calls or scheduled video calls for a specific date. 🔗 API Endpoint POST https://dashboard.popin.to/api/v1/export 🔐 Authentication You need an API key to ...
    • Popin Webhook Integration Guide

      Popin’s webhook functionality allows you to receive real-time notifications about events happening in your Popin widget. This guide explains how to set up webhooks and describes the event payloads you can expect to receive. Setting Up Webhooks Log in ...
    • Popin Zapier Integration Guide

      Popin Zapier App Integration Overview The Popin Zapier App enables you to integrate Popin with thousands of other applications through Zapier. This guide provides instructions on how to connect Popin to Zapier, configure triggers, and use API ...
    • How to Integrate WebEngage with Popin

      This guide walks you through integrating Popin with WebEngage to ensure all user interactions, lead activity, and call events are automatically synced for enhanced marketing and automation workflows. 🔧 Integration Steps Step 1: Get WebEngage API ...