# Plio for Teams

Plio has been built to support teams. We provide a separate workspace for teams to collaborate with each other effectively. Look at the video below for an overview:

We provide the following support for organizations:

  • An organizational workspace to house all the plios created by the organization members.
  • Members of a workspace can view/edit/analyse the plios created by other members.
  • Know exactly what data is collected when your students watch a plio, and how the numbers in your reports are calculated.
  • A recurring export to BigQuery, on request, to enable you to build custom dashboards.
  • Single Sign-On (SSO) in case you want your viewers to bypass Plio's authentication layer.
  • Access control to ensure that only the admins can update your workspace settings.
  • Mapping data to users if you want to know the true identities of your users in the downloaded report for each Plio.
  • Copy Plios from Personal Workspace in case you or the creators in your team have already created a plio in their personal workspace.

Fill thisopen in new window form to apply for an organizational workspace. Organizational workspaces can also, on request, get a recurring export of their Plio data to BigQuery to build their own dashboards on.

# What data does Plio collect?

Say you send a plio link to your students over WhatsApp. What does Plio record when a student opens it, and what does each number in your report actually mean? This section walks you through it.

# How a student is identified

A link you share on WhatsApp (or anywhere else) is just the normal plio link. Plio needs to know who is watching before it records anything, and there are two ways this can happen:

  • Through your own student ID (recommended for organizations). Add your student's ID and your organization's API key to the link, as explained in Single Sign-On (SSO). The student skips the login screen, and all their data is tied to the ID that you use for them. The link looks like this:

    https://app.plio.in/play/<plio-id>?unique_id=<your student id>&api_key=<your org api key>
    
  • By logging in. If the link doesn't have these two parameters, the student logs in to Plio with their phone number (using an OTP) or with their Google account.

NOTE

Nothing is recorded for someone who is not logged in, and nothing is recorded when you (or anyone else) open a plio in preview mode.

# What happens while a student watches

  1. The student opens the link. Plio creates a new session for them. A new session is created on every visit. If the student has watched this plio before, they resume from where they left off, and their earlier answers and progress carry over into the new session.
  2. The student watches the video. Every 20 seconds, the player saves their progress (how long they have watched and which parts of the video they have seen).
  3. A question pops up. The video pauses until the student answers or skips the question.
  4. The student submits an answer. The answer is saved right away. Once submitted, an answer can't be changed.
  5. Everything is logged. Every interaction along the way (play, pause, jumping around in the video, selecting an option, submitting, and so on) is saved as an event.

# What we measure and how

Data pointWhat it meansHow it is measured and stored
Watch timeThe total number of seconds the student has spent watching the video.Measured by the player while the video is playing and saved every 20 seconds. It is cumulative across all visits, so the student's latest session holds their total.
RetentionFor every second of the video, how many times the student reached that second. If they rewatch a part, those seconds are counted again.Stored as a comma-separated list of numbers, one per second of the video (e.g. 1,1,1,2,2,0,...). Like watch time, it is cumulative across visits.
AnswersWhat the student answered for each question. For an MCQ question, the option they chose; for a Checkbox question, the set of options they chose; for a Subjective question, the text they typed.Saved when the student submits. A question the student did not answer is left empty. Plio does not store whether an answer was correct. That is worked out by comparing it with the correct answer you set (a subjective answer counts as correct if it is not empty). Survey questions have no correct answer.
EventsA log of everything the student did in the player (see the list below).Each event has a type, the point in the video where it happened (player_time, in seconds from the start of the video) and the real-world date and time when it happened. Some events have extra details, described below.
SessionOne visit by a student to a plio.Records when the visit started, when it was last updated and whether it was the student's first visit to this plio.

These are the types of events that Plio records:

  • played / paused: the student played or paused the video.
  • video_seeked: the student jumped to a different point in the video. The details include the time they jumped to.
  • item_opened: a question appeared on the screen.
  • option_selected: the student clicked an option before submitting. Every click is recorded, so you can see if they changed their mind.
  • question_answered: the student submitted an answer.
  • question_skipped: the student skipped the question.
  • question_revised: the student went back to rewatch the part of the video before the question.
  • question_proceed: the student continued with the video after answering.
  • enter_fullscreen / exit_fullscreen: the student switched to or out of fullscreen.
  • watching: a heartbeat that is updated every 20 seconds while the student watches. Plio uses it to resume the video from the right point.

TIP

Question and option numbers inside the details of an event start from 0. So the first question of a plio is question 0 and its first option is option 0.

Plio does not collect information about the student's device, browser or location from the player.

Good to know

  • Watch time is a close approximation calculated by the player, not an exact measurement.
  • Since progress is saved every 20 seconds, up to about 20 seconds of watching just before a student closes the tab may not be recorded.
  • To get a student's totals (watch time, retention, answers), look at their most recent session for that plio. Totals carry over from one session to the next, so adding up all of a student's sessions would count the same watching more than once.

# How the data is organised

The diagram below shows the main pieces of data and how they are connected. Tap or click on a box to see what it contains. Each line shows how many of one thing can be linked to another: for example, one plio can have many sessions.

1manymany11many1manymany11manymany11many11OrganizationStudent (user)EventSessionSession answerVideoPlioItemQuestion

Organization

Your organization. It has its own workspace, and its data is kept separate from every other workspace.

name
Your organization's name.
api_key
The secret key you add to SSO links so that students skip the login screen.

Student (user)

Anyone who watches a plio while logged in. Students who open your SSO link are linked to your organization.

unique_id
Your own ID for the student, if they came through your SSO link.
mobile
Their phone number, if they logged in with an OTP.
email
Their email address, if they logged in with Google.

Event

One thing the student did in the player during a session, like playing, pausing or answering.

type
What happened, e.g. played, paused or question_answered.
player_time
Where in the video it happened, in seconds from the start.
details
Extra information, e.g. the option clicked or the time jumped to.
created_at
The real-world date and time when it happened.

Session

One visit by one student to one plio. A new session is created on every visit.

watch_time
Total seconds watched, including earlier visits.
retention
For each second of the video, how many times the student reached it.
is_first
Whether this was the student's first visit to this plio.
created_at
When the visit started.
updated_at
When the visit was last saved.

Session answer

The student's answer to one question, within a session.

answer
The option chosen (MCQ), the options chosen (checkbox) or the text typed (subjective). Empty if not answered.

Video

The video that a plio is built on. The same video can be used in many plios.

url
The video's link.
title
The video's title.
duration
The length of the video in seconds.

Plio

An interactive video: a video plus the questions placed on it.

uuid
The plio's ID, i.e. the part after /play/ in its link.
name
The plio's title.
status
Whether the plio is a draft or published.

Item

A point in the video where a question appears.

time
When the question appears, in seconds from the start of the video.

Question

The question shown at an item.

type
mcq, checkbox or subjective.
text
The question itself.
options
The answer choices (for MCQ and checkbox questions).
correct_answer
The right answer, used to work out accuracy.
survey
Whether it is a survey question, which has no correct answer.

All of this data lives inside your organization's workspace. Each organization's workspace is a separate space, so your data is never mixed with another organization's.

# How the dashboard numbers are calculated

The dashboard of each plio shows a few summary numbers. All of them use each student's latest session for that plio.

  • Unique viewers: the number of different logged-in students who have a session for the plio.
  • Average watch time: the average of each student's total watch time.
  • 1-minute retention: the percentage of viewers who watched beyond the first minute of the video. This is not shown for videos shorter than 1 minute.
  • Accuracy: for each student, the number of questions they got right divided by the number they answered. This is then averaged over all students who answered at least one question. Survey questions are not counted.
  • Average questions answered: the average number of questions answered per student.
  • Completion: the percentage of viewers who answered all the questions (survey questions are not counted).

NOTE

Completion is about answering every question, not about finishing the video. A student who watched the whole video but skipped a question is not counted as complete.

# Getting the data

There are two ways to get this data out of Plio.

1. Download the report from the plio's dashboard. You get a ZIP file containing these CSV files:

  • sessions.csv: one row per session, with watch time and retention.
  • responses.csv: the answers given by students to each question.
  • events.csv: the full log of events.
  • user-level-metrics.csv: summary numbers for each student.
  • plio-interaction-details.csv: the questions in the plio, with their options and correct answers.
  • plio-meta-details.csv: details about the plio itself, like its name and video.
  • A READ-ME-FIRST guide explaining the files.

For regular members of your workspace, the student identifier in the report is masked. If the person downloading the report is an Admin or a Super Admin, the report shows the real identifier: the unique_id you passed in the SSO link, or the student's phone number or email. See Mapping data to users for more.

2. Get a recurring export to BigQuery. If you want to build your own dashboards or combine Plio's data with your other data, see Data analysis using BigQuery.

# Data analysis using BigQuery

Plio's dashboard covers the needs that are most common across our users. If you need more, for example dashboards customised to your programme, we can help.

On request, we can set up a recurring sync of your organization workspace's Plio data into BigQuery. The sync runs roughly every 6 hours and is managed by the Plio team. You can then build your own dashboards on top of it (for example, with Looker Studio) or join it with your other data.

The data contains the same kinds of information described in What data does Plio collect?: plios, questions, sessions, answers and events, for the plios in your organization's workspace.

To request it, reach out to us on Discord.

# Single Sign-On (SSO)

Your viewers can watch your plio using the link that you share with them. However, if someone is not already logged in to Plio, they will have to authenticate themselves first. Sometimes, this is not desirable as it can cause additional friction for your viewer and you might want them to directly watch the plio without having to log in.

Plio provides you with a way to do precisely that. You can do this using a unique API Key which is assigned to every organization. You will be provided with your API Key when your organizational workspace is created.

DANGER

It is your responsibility to ensure that you don't share this API key with anyone or include it in any document that is publicly accessible.

This is how a typical plio link looks like:

https://app.plio.in/play/r7R7ErAy2a

To bypass plio's authentication, you need to add 2 parameters to the query:

  • unique_id: this should be the unique identifier for your viewer
  • api_key: this should be the API key that was shared with you as mentioned above

The modified link should look like:

https://app.plio.in/play/r7R7ErAy2a?unique_id=UNIQUE_ID&api_key=YOUR_API_KEY

You need to share this link with your viewers instead of the usual plio link and your viewers will be able to access the plio without having to authenticate.

There are two ways to use this feature:

  • If you already have a user management system, you can simply pass in the unique ID for a viewer in your system as the unique_id parameter mentioned above.
  • If you don't and simply want any viewer to bypass Plio's authentication, you can use any random value for unique_id. However, in this case, you won't be able to identify the users during analysis.

# Receiving data from Embedded Plio

You can embed your plios in your website as shown here, but, on the default plan, you will not receive any data from the embedded plio if your viewers haven't already logged in to plio.

However, if you have an organizational workspace, you can use Single-Sign On (SSO). This will enable you to receive data from your users without them having to log in to plio. Let's see how!

This is what you typically see when you click the Embed button in the Editor:

embed dialog

However, in the organizational workspace, you will see two embed codes instead of one, as shown below:

embed dialog sso

The first embed code is the same as the one shown in the image before. The second embed code enables you to receive data from the embedded plio, even if the user has not logged in to Plio. This is done using SSO. In this case, we will use the same combination of unique_id and api_key as discussed in the previous section.

You will notice that your API Key is already pre-filled in the second embed code. All you need to do is to replace the UNIQUE_ID mentioned in the embed code with the unique_id of the user watching the plio within your website. It is the responsibility of your developer to ensure that the correct unique_id is set for each user watching the embedded plio from your website.

# Access control for workspace settings

We enable you to customize the configuration of your plios as given here.

However, in a team workspace, you might want to control who can change the default configuration for your plios. Keeping that in mind, we have marked several settings to be accessible by the team admins only. Settings which can only be accessed by the workspace admins have been marked as Admin as shown in the image below!

settings menu for workspaces

Every member of your workspace will still be able to change the settings of an individual plio from the Editor.

# Mapping data to users

Currently, when you download the report for a plio, the value of the user identifier is masked to protect the user's identity. This becomes a barrier for organisations who need to map the data for each plio to the actual user so that they can provide them with the adequate support. In the longer term, we plan to figure out a way to ask the consent of our users for this beyond the Privacy Policy that they currently need to agree to before signing up for Plio.

For now, since we are manually vetting each organisation that is using the organisational plan of Plio and are exclusively serving NGOs, we provide a way for organisations to access the true identity of their user.

NOTE

Ensure that you are on the organisational plan before proceeding.

In Plio, any user who is a part of an organisational plan can have one of 3 roles:

  • Member: can only edit/create/publish plios within the organisational workspace
  • Admin: everything that a Member can do + some admin-level privileges like being able to add new members (however, they cannot make another member an admin)
  • Super Admin: everything that an Admin can do + the highest level of privileges that exist within the organisational plan like adding new admins.

To be able to access the true identity of the users in the report for each Plio, the person downloading the report should either be an Admin or a Super Admin. To make a member either an Admin or a Super Admin, contact us. Eventually, we'll add a feature within the Plio platform itself for doing this.

# Copy Plios from Personal Workspace

Sometimes, creators can create a plio in their personal workspace instead of the organizational workspace. Instead of having to repeat the creation step, creators can simply copy the plios in their personal workspace to the organizational one.

WARNING

Make sure that the creator who wants to copy the plio has already been added to the organizational workspace before proceeding ahead.

  1. On the home page, click on the dropdown for the plio that you want to copy. plio dropdown

  2. You should see an option to copy the plio. copy plio option

  3. Open clicking Copy To, you should see a list of all the workspaces that you are a part of. workspace options

  4. Choose the workspace you want to copy the plio to.

  5. The chosen workspace will open up with the copied plio shown at the top.

Last Updated: 10/6/2026, 1:34:38 PM