This add-on gives you 4 new leaderboard shortcodes and 2 new widgets that you can customize per use. You can edit how many results are listed, the name of the leaderboard, and the order the results are listed in.

Plugin Version: 2.0.1
 
WordPress plugin QSM Advanced Leaderboard

Plugin Features

The plugin provides a comprehensive solution for creating leaderboards, offering features like customizable shortcodes, specially designed leaderboard tables, and seamless integration with QSM themes. Users can enhance their QSM experience by displaying ranking information in a visually appealing format while maintaining full control over the design and functionality.

It streamlines the process of showcasing leaderboard data within the QSM environment, enabling users to leverage shortcodes to embed leaderboards effortlessly into their quizzes and surveys. The plugins intuitive interface and flexible settings empower users to tailor the appearance and behavior of the leaderboard to suit their specific needs, ultimately enhancing user engagement and interaction.

By incorporating advanced leaderboard functionalities, it elevates the overall user experience by presenting leaderboard data in a clear and organized manner. With the ability to customize themes and styles, users can ensure that the leaderboard seamlessly integrates with their existing QSM setup, maintaining a cohesive look and feel across their quizzes and surveys.

The plugins focus on enhancing the visual representation of leaderboard data ensures that users can effectively communicate rankings and results to their audience. Whether highlighting top performers or showcasing progress over time, it offers a dynamic way to present leaderboard information that is both engaging and informative, catering to diverse user preferences and requirements.

With its seamless integration into the QSM ecosystem, it provides a valuable addition to users looking to boost the interactivity and visual appeal of their quizzes and surveys. By offering a range of customization options and powerful features, QSM Advanced Leaderboard empowers users to create dynamic leaderboards that resonate with their target audience, fostering increased participation and user satisfaction.

Specifications:

Release date: 11-10-2020
Last updated: 28-02-2025
Type: Paid
License: GPL 
Subject: Core Enhancements for QSM
Compatibility: W5.x
Includes: Plugin
Language packs: English
Developer: QSM

Rating:
4.4558139534884 1 1 1 1 1 (215 Votes)

Download by subscription!

You need to log in on the site and purchase a club subscription!

Share with your friends!

 

How to Set Up and Use QSM Advanced Leaderboard

QSM Advanced Leaderboard is not just another way to drop one more table onto a page. Its real purpose is to turn Quiz and Survey Master quiz and survey results into a clear public ranking where participants can see their position, score, percentage, completion time, or overall progress across a series of activities. In this guide, we will walk through how to plan that leaderboard, which data to display, where to get the shortcode, how to verify sorting, and why some settings are best enabled only after testing them on a page copy.

This article is written for WordPress site owners, instructional designers, training project admins, marketers running contest-based campaigns, and developers who need to understand how the add-on works without reading through a dozen documentation pages. We will not repeat the product's short description. Instead, we will go from QSM and quiz preparation to a finished leaderboard page, a theme widget, a participant position link, and troubleshooting common issues.

The key practical point is this: a leaderboard only becomes useful when you decide in advance what outcome counts as a win, which attempts should be included, which fields can be shown publicly, and how a participant will confirm their position after finishing the quiz. If you skip those decisions, the plugin may still output a ranking, but users could end up seeing unclear rows, duplicate names, the wrong sort order, or an empty table.

Cover image for the QSM Advanced Leaderboard guide showing the path from quiz results to the leaderboard
This diagram shows the add-on's core flow: a participant completes a quiz, QSM saves the result, and Advanced Leaderboard builds the public ranking.

What a Participant Ranking Is Actually For

QSM Advanced Leaderboard runs on top of Quiz and Survey Master and uses saved quiz or survey results as its data source. That matters: the add-on does not replace the question builder, it does not define the grading system by itself, and it does not fix a poorly configured quiz. What it does is present the data generated after form submission in a clearer competitive format: as a table, chart, cumulative ranking, or widget.

The official documentation describes several output modes: global settings for all quizzes, settings for an individual quiz, a table, a chart, and a cumulative leaderboard. In practice, that gives you four common use cases. First, a contest page where visitors can see the top participants for a given period. Second, a training page where a student compares their result with the group. Third, a series of short activities where cumulative points across multiple quizzes matter more than any single attempt. Fourth, a compact widget in a sidebar or theme area that keeps the current ranking visible.

For a site owner, the value of the plugin is not just the "game" effect. A public ranking helps explain participation rules, keeps people engaged across a series of tasks, encourages repeat attempts, and makes results visible without manual exports. But there is a tradeoff: any leaderboard that includes names, organizations, dates, and scores becomes a public data block. That means your setup should account for privacy, consent to display names, the role of contact fields, and how long the results remain relevant.

What Counts as Input for the Leaderboard

The add-on does not use the quiz page itself as input. It uses completion records that QSM saves after the form is submitted. If a participant opens the quiz but does not submit answers, there is nothing to display in the ranking. If the quiz is still a draft or the result is not being stored as expected, the table may also stay empty. So before configuring the leaderboard, verify the basic chain first: the quiz is published, the questions have correct answers or points assigned properly, the contact form collects the right name, the user completes the quiz, and the result appears in the QSM admin area.

That input drives almost every decision that follows. If you sort by percentage, the table depends on a valid percentage. If you sort by points, the Points or Both system matters. If you display completion time, you need a use case where time genuinely matters and does not distort motivation. In a speed contest, time helps. In a learning quiz on a new topic, it can pressure the participant and reduce answer quality.

Which Results Are Best to Show Publicly

A public table should be short and easy to understand. For most sites, rank, name, quiz title, percentage or points, and, if needed, the date are enough. Fields like organization, email, or exact completion time only make sense when they add clear value for the reader and do not create unnecessary risk. QSM Advanced Leaderboard lets you enable and disable columns, rename headers, and change the order, so there is no reason to push every available field into the public-facing view.

Practical rule: if a field does not help the participant understand the ranking or confirm their place, leave it out. The fewer unnecessary personal details you show, the easier it is to maintain privacy and the easier the table is to read on mobile screens.

Who QSM Advanced Leaderboard Is Best For and When Another Approach Makes More Sense

This add-on works especially well on sites that use repeatable quizzes, competitive activities, training modules, trivia quizzes, internal knowledge checks, team-based activities, or marketing quizzes with contest mechanics. Its biggest strength is its connection to QSM: if your quizzes are already built in Quiz and Survey Master, you do not need to move results into a separate system just to publish a ranking.

QSM Advanced Leaderboard is a good fit when you need to publish a table or chart quickly with a shortcode, control visible columns, limit the number of rows, sort participants by the right metric, and display rankings for a selected time period. It is also useful when you want to give a participant a link to their position on the results page or display their rank immediately after quiz completion using special template variables.

The plugin may be unnecessary if the site does not have a real competitive use case. For example, for a standard satisfaction survey where results should remain confidential, a public ranking does not help. If you need a more complex system with achievements, badges, levels, balances, site-wide actions, and rules beyond QSM, you should be looking at a broader gamification platform. If you only need a simple top-5 block inside one quiz, the basic QSM Leaderboards add-on may be enough.

Good Use Cases

  • Training course: participants complete several knowledge checks, and the instructor shows overall progress based on cumulative points.
  • Marketing quiz: visitors can see the leaders of the week and understand that the contest is still active.
  • Internal employee training: the team compares quiz results, while the admin limits public data to name and department.
  • Series of themed quizzes: the site displays separate rankings by topic and one overall list.

Cases Where You Should Be More Careful

Not every leaderboard strengthens a site. In medical, psychological, HR, or sensitive educational assessments, publishing names and results may be inappropriate. In those cases, it is better to use anonymized labels, internal QSM reports, or restricted access. If you still need a ranking, show only a safe pseudonym, limit the period, remove extra columns, and explain in advance which data will appear on the page.

You should also be cautious with repeat attempts. QSM support discussions show that users often expect all attempts from the same person to be merged automatically. But the specific shortcode type and output mode determine whether you will see separate attempts, an average, or cumulative points. That is why you should test with several sample users before launching a contest and confirm that the leaderboard matches your actual win condition.

What to Check Before Installing the Add-On

The prep work is not just a formality. QSM Advanced Leaderboard is sensitive to how the quiz was built in the first place: which grading system is selected, which fields are collected from the participant, whether the quiz is published, whether there are real submitted results, and which page you plan to use for the ranking. If those pieces are not in place, configuring the add-on becomes guesswork.

Core QSM Setup and Quiz Structure

First, make sure the core Quiz and Survey Master plugin is installed, active, and visible in the WordPress left menu. The quiz should contain questions, saved answer choices, and a selected grading system. For a percentage-based leaderboard, a correct-answer setup makes sense. For a points-based leaderboard, assigned points matter. For mixed behavior, you can use a mode where QSM calculates both correctness and points, but the final table columns should match the metric you are actually using to rank participants.

If the quiz is already published, run a few test attempts before installing the add-on. That gives you baseline data. Once the leaderboard is enabled, you will immediately see whether results are being pulled in, whether names are displaying correctly, and whether points and percentages are being mixed up. If the quiz is empty, a new leaderboard may look broken when in reality it simply has nothing to show.

Contact Fields and the Participant's Public Name

The Advanced Leaderboard documentation specifically mentions the User Business column: for it to be useful, the corresponding Business field must be enabled in the QSM contact form. The same applies to names. If the participant does not enter a name, or if the field is not connected to the intended purpose, the public table may show a blank row, a technical username, or the wrong identifier altogether.

At the preparation stage, decide which field will become the public display name. For an open contest, a pseudonym is often the better option. For internal training, showing a name and department may be acceptable if that fits the team culture. For a school or course with minors, anonymization should be planned in advance. Do not include email, phone numbers, or unnecessary contact data in the table unless the ranking itself genuinely requires them.

The Leaderboard Page and Access Rules

For a dedicated leaderboard page, create a clear URL that is easy to explain to participants. The official documentation notes a specific requirement for the %LEADERBOARD_POSITION_URL% variable: the page or post containing the leaderboard must use the slug leaderboard, or the automatic position link may not work. This is not a cosmetic detail. It is part of how the add-on works, so it is worth preparing that page before you enable the variable on the results page.

If the ranking should be private, do not rely on the page being hard to find. Use WordPress visibility settings, the site's membership logic, or a protected page if that matches your architecture. The add-on is responsible for displaying the ranking, but the question of who is allowed to see it usually remains at the WordPress, theme, page, and access-plugin level.

Cache, Theme, and Editor Blocks

The leaderboard changes when new quiz attempts are submitted, so aggressive page caching can show visitors an outdated ranking. Before launching a contest, check whether the site uses page caching, a CDN, JavaScript optimization, or deferred loading. For a leaderboard page, it usually makes sense to add a cache exclusion or use a short cache lifetime if the ranking needs to refresh almost immediately after a result is submitted.

Check the theme as well. A table with multiple columns can overflow a narrow content area, especially if you display quiz name, business, date, and time taken. During setup, choose a wide content area or wrap the shortcode in your own container up front so you can add clean horizontal scrolling with CSS if needed.

Installation and the First Check in WordPress

QSM Advanced Leaderboard is installed as a WordPress add-on. The QSM documentation describes two main paths: using the QSM Addon Installer or manually uploading the ZIP file like a standard plugin. This article does not cover purchasing, payments, or license entry as a separate process. We assume you already have a legally obtained archive or access to Addon Installer and that your goal is to enable the feature safely and verify that it works on the site.

Installing Through the Admin Panel

  1. First, confirm that the core Quiz and Survey Master plugin is already installed and active.
  2. If you are using the manual method, open Plugins, then Add New, and choose the option to upload the ZIP file.
  3. After installation, activate the add-on in the WordPress plugins list.
  4. Open the QSM menu and check whether the Advanced Leaderboard section appears in the add-on settings or inside the editing screen for a specific quiz.
  5. Do not change every setting right away. Start by getting a basic leaderboard output working on a test page.

If the site uses QSM Addon Installer, the path may be shorter: the add-on is enabled from the QSM extensions area. In either case, the first verification outcome is the same: you should see Advanced Leaderboard settings and be able to get a shortcode to place on a page.

Minimum Check After Activation

After installation, do not begin by tweaking colors, charts, and every possible column. Create or open a quiz that already has at least a few submitted results. Then generate a simple leaderboard shortcode through the add-on interface, place it on a separate draft page, and open the page as a normal visitor. That lets you verify three things: the add-on is active, WordPress is processing the shortcode, and the table is pulling data from QSM.

If you see the shortcode text itself on the page, the problem is not the scores. The problem is that WordPress did not process the block. Check whether you placed it in a Shortcode block, a regular HTML block, or a text editor area that allows shortcode processing. The official WordPress documentation reminds us that the shortcode must be registered by an active plugin and written correctly with valid attributes.

QSM Advanced Leaderboard settings in the WordPress admin panel with columns and shortcode
A visual reference for the first launch: where to find the table settings, which fields to enable first, and how to get the shortcode.

What Counts as a Successful First Launch

Successful activation does not mean a perfect leaderboard yet. On the first pass, it is enough to see a table or chart with test data, confirm that the sort order does not look reversed, and make sure the names are not blank. After that, you can move on to column selection, time period, rank limit, cumulative leaderboard mode, and public-facing design.

Quick takeaway: first verify the simple chain of "QSM result -> shortcode -> public page." Only then should you move on to charts, polished column labels, widgets, and participant position links.

Global Leaderboard vs. Single-Quiz Leaderboard

One of the main decision points in QSM Advanced Leaderboard is where you configure the table. The global section in the QSM menu works well when you want to combine results from multiple quizzes or display a shared table. Settings inside a specific quiz make more sense when the page relates to one activity and you do not need extra quiz selection. This difference affects not only the interface but also the meaning of the ranking.

If you are building an overall leaderboard across multiple activities, users need to understand that results from different quizzes are being compared. In that case, the Quiz Name column may be important, because otherwise visitors will see scores with no context. If the ranking belongs to a single quiz, that column is often unnecessary: the page already makes the activity clear, and that space is better used for score, points, time, or date.

When to Use Global Settings

A global leaderboard works well for series: a weekly contest across multiple trivia quizzes, an overall ranking for course participants, or a test catalog with a shared scoreboard. The documentation describes the ability to select multiple quizzes for a leaderboard shortcode, set the number of ranks shown, sort by submission date, scores, or percentages, enable an average result, and filter by period. That gives the admin flexibility, but it also increases the risk of choosing the wrong behavior.

For example, if you display results from all quizzes and sort by latest, the "winner" will not be the strongest participant. It will be the most recent result at the top of the list. That may work for a "recent completions" block, but it does not work well for a competition. If you sort by score, enable the Correct Score column so users can understand why the list is ordered that way. If you sort by point_score, make sure the points system in the quiz questions was configured intentionally.

When to Work Inside One Quiz

Settings for an individual quiz are usually better for a landing page built around one specific contest or test. In this mode, you open the target quiz in Quizzes/Surveys, go to Add-ons, and select Advanced Leaderboard. The documentation emphasizes that the settings are similar to the global ones, but in individual mode you no longer need to choose the quiz in the advanced leaderboard shortcode settings because the context already comes from the quiz being edited.

The practical benefit is that there are fewer accidental errors. The editor does not need to remember multiple quiz IDs, and the visitor sees the ranking for the exact quiz they just completed. If your contest lives on one page, start with the individual leaderboard. Move to global mode only when you need a showcase of multiple quizzes or a shared summary table.

How to Avoid Confusion with Multiple Attempts

A common question in support discussions is why the same participant appears multiple times when they completed different quizzes or made several attempts. The important thing here is to separate expectations. A standard table may show completion records, not necessarily "one person merged into one row." For cumulative scoring, the documentation points to cumulative leaderboard mode, which uses total cumulative points across completed quizzes. If that is what you need, plan for that mode up front instead of trying to force the same outcome from a standard all leaderboard shortcode.

Configuring the Table: Columns, Labels, and Order

The Manage Table and Titles section is the heart of the public table. This is where you decide what people will actually see: rank, name, quiz title, organization, percentage, score, completion time, correct answers, total number of questions, and date. A bad table usually does not "break" technically. It becomes confusing: the winner is at the top, but nobody knows why; the time column is visible, but nobody knows whether it affected sorting; the business field is blank because the contact form never collected it.

Choose Columns Based on the Ranking Goal

Before you enable every field, define the win rule in one sentence. For example: "In this week's ranking, participants compete based on the highest number of points in one quiz." In that case, the table should show Rank, User Name, Point Score, and Date, and extra fields can be removed. Another example: "In this training quiz, the percentage of correct answers matters more than speed." Then Correct Score is useful, while Time Taken may be unnecessary.

Which columns to enable for different use cases
Use case Helpful columns What to verify
Contest for one quiz Rank, User Name, Point Score or Correct Score, Date The sort order matches the selected column, and the test participants appear in the expected order.
Series of activities Rank, User Name, Points, Total Questions, Quiz Name when needed Make sure it is clear whether the table compares individual attempts or a cumulative result across multiple quizzes.
Speed-based ranking Rank, User Name, Time Taken, Score or Points Completion time should actually be used as a supporting metric and not mislead people.
Corporate training Rank, User Name, User Business, Correct Score, Date The Business field is collected through the QSM contact form and is appropriate to show publicly.

After enabling the columns, always open the page on a narrow screen. Long quiz titles, organization names, and dates can make the table wider than its container. If that happens, it is usually better to shorten the column labels and leave extra detail in the page description rather than forcing users to scroll through a wide block with no context.

Renaming the Headers

The documentation confirms that you can customize column labels. Use that feature so the table speaks your audience's language. In a training project, "Correct Score" can become "Percentage," "Point Score" can become "Points," and "Time Taken" can become "Time." But do not change the meaning. If a column contains a percentage, do not label it "Final Points." If it shows a submission date, do not call it "Registration Date." Small details like this directly affect trust in the ranking.

For a public contest, it is best to avoid technical labels. A participant does not need to understand the internal distinction between score and point_score if you have already chosen one rule. But the admin does need to understand it: score is usually understood as correctness percentage, while points refers to the sum of assigned point values. If you are using both approaches, verify that your quiz questions are actually configured to support that behavior.

Column Order and How People Read the Outcome

The developer notes that column order can be changed by dragging and dropping. That is not just a convenience feature. The first view of the table shapes what the participant sees as most important. For a competition page, the usual order is Rank, User Name, primary metric, then date or time. For a training page, you might place Quiz Name before the metric if the ranking combines different activities. For an internal report, Business next to the name may be useful, but in a public contest it can be unnecessary.

Result check: after saving the settings, open the leaderboard page as a guest, as a logged-in participant, and as an admin. The table should make sense without admin access and without needing a follow-up explanation like "we'll explain what that column means later."

Shortcodes, Charts, and Cumulative Leaderboards

QSM Advanced Leaderboard displays rankings through shortcodes that can be inserted into a post, page, or another supported WordPress area. The documentation describes the Manage Shortcodes interface: you choose the settings, see the generated shortcode text, and copy it with a button. That is the best path because it reduces the chance of typos in parameter names.

You should only write a shortcode manually if you understand which attributes are supported in your version of the add-on. WordPress is fairly forgiving about different attribute formats, but a mistake in a parameter name usually does not generate a clear warning. As a result, the table may render with default settings, empty data, or the wrong sort order.

Leaderboard Shortcode for a Table

The table shortcode is used for a standard participant list. In global mode, it may include multiple quiz selection, a rank limit, sort order, a day-based filter, or a date range. QSM support answers include examples of older shortcode names such as mlw_qmn_all_leaderboard and mlw_qmn_single_leaderboard, but in a real setup it is better to copy the current shortcode from the add-on interface because the developer added a UI for configuring attributes and may have changed which parameters are available.

If you want a structural example, it might look like this:

[mlw_qmn_single_leaderboard mlw_quiz="1" ranks="10" name="Training leaders" order="point_score"]

Do not paste that example blindly. Replace the quiz ID, ranks, title, and order through the QSM Advanced Leaderboard interface. If the leaderboard is supposed to show the highest points first, one support discussion points to point_score as a separate check when standard score does not produce the expected order. That is a useful troubleshooting clue, but you should still take the final setting from your version's interface.

Graph Shortcode for Visual Comparison

A chart is useful when visitors need to see the gap between leaders at a glance. The documentation describes settings for rank limit, bar chart orientation, the chart basis such as percentage or points, chart colors, text color, and labels built from variables. That format works best in contests and short public reports where a table with ten columns would overwhelm the page.

Choose a horizontal chart if participant names are long or you have many rows. A vertical chart works better when the number of leaders is small and labels are short. Match the chart colors to the site's theme, but always check text contrast. If labels are hard to read on mobile, the chart loses its value even if it looks clean in the admin panel.

Cumulative Ranking Across a Quiz Series

A cumulative leaderboard is designed for a different kind of competition: a participant completes multiple quizzes, and the table ranks people by total cumulative points. The documentation describes the core columns in that mode as rank, name, points, and total questions. That is not the same as a standard table of all attempts. A normal table may show separate records, while cumulative mode combines the result by user across a series of activities.

This is exactly where false expectations most often appear. If you promise participants an "overall standing across all weeks," use cumulative leaderboard mode or another confirmed aggregate option. If you instead display an all leaderboard across all quizzes, verify in advance that the same participant will not appear multiple times. Support threads have raised this question before, so it is not a test worth skipping.

Diagram of the QSM Advanced Leaderboard flow from quiz attempts to the table, chart, and cumulative leaderboard
How the output works: a participant's attempt enters QSM results, then the Advanced Leaderboard settings determine whether it appears as a table, chart, or cumulative ranking.

Filtering Attempts by Time Period and Rank Limit

A leaderboard without a time period quickly becomes hard to manage. If a contest runs for a week but the table includes all historical results, new participants may have almost no chance of catching long-time leaders. If a training module runs in cohorts, an all-time table will mix different groups together. QSM Advanced Leaderboard lets you limit the data through rank limits and time filters, but those settings need to be tied to the actual event rules.

Show Ranks up to

The rank limit controls how many rows appear in the public list. Do not set it too high just because the database contains many results. For a contest landing page, a top 10 or top 20 is often enough. For an internal group page, you may show more if it matters that participants can find themselves. The longer the table, the heavier the cognitive load becomes, especially when every row contains a name, quiz name, score, points, time, and date.

A good compromise is a short public table and a separate link to a full internal report, if admins need that page. Advanced Leaderboard is built for public display. Deep analytics, exports, and answer breakdowns belong to other QSM tools and should not be mixed into the leaderboard's job.

Leaderboard Filter

The documentation describes two filtering options: showing results from the last N days or selecting a date range. The first option works well for rolling rankings such as the last 7 days, the current active week, or recent attempts. The second is better for campaigns with fixed dates, where the outcome should remain frozen after the contest ends. You do not need to hard-code dates into the article, but the admin configuring the ranking should understand which type of time period is being used.

If you use the "last N days" filter, check it after the day changes and after several test submissions. Some sites cache pages, and the WordPress timezone may differ from what the team expects. If the output looks wrong, start by checking the underlying conditions rather than blaming the plugin: site time, result submission date, page cache, and the selected filter.

Average Result and Repeat Attempts

Average Result can be useful when users may complete multiple quizzes or make several attempts and you want to smooth out one-off outliers. But an average is not always fair. In a best-score contest, participants expect their highest result to count. In training, an average may be more honest because it reflects consistency. Before enabling average mode, explain that rule to participants. Otherwise, the ranking may feel opaque.

If you need an overall standing across the full series, do not substitute an average if the contest rules are based on total points. Use cumulative leaderboard mode or another confirmed option that directly matches your goal. Set the rule first, then the configuration, not the other way around.

How to Match the Ranking Format to Different Types of Sites

The same QSM Advanced Leaderboard can appear as a contest showcase, a training record, an internal department table, or a small "leaders of the week" block. But the right settings are different in each case. A common implementation mistake is choosing a visually appealing format first and only then trying to explain its rules to users. The better approach is to start from the site type: who is taking the quiz, why they are taking it, how often new results appear, and what reaction the table is supposed to create.

For a public trivia quiz, simplicity matters most. Visitors will not read a long scoring policy if the table is confusing at first glance. In that case, keep the columns to a minimum, use a short rank limit, and add a clear line of text above the shortcode explaining the ranking period, which result counts, and whether repeat quiz attempts are allowed. In a training project, the table can be slightly more detailed: quiz name, date, percentage, and points help the student or instructor understand the context behind the outcome.

Corporate knowledge checks require extra care. Teams often want to display department, role, or business unit, but those values need to be collected through the contact form and aligned with internal communication rules. If the ranking is meant to motivate the team rather than punish them, keep the public wording neutral: "current group results," "participants who completed the module," or "best attempts this period." A table should not become a pressure tool if it was originally meant as training feedback.

Public Quiz or Contest

In a contest setting, the strongest setup is usually a combination of one dedicated quiz, a short top-10 table, sorting by points or percentage, a time filter, and a results-page variable linking to the leaderboard. A chart can be added below the table if it helps show the gap between the leaders. But do not replace the table with the chart if people need to find their own names. A chart is faster to scan; a table is better at answering the question "what place am I in?"

If the contest allows repeat attempts, the rule should be written next to the quiz. For example: "Every completed attempt is included in the ranking" or "The final standing is based on cumulative points across the series." Do not leave that up to guesswork. Support cases around repeated attempts show that this is exactly where participant expectations and admin expectations often diverge.

Training Course or Employee Assessment

In a training environment, a leaderboard is not always meant to function as a competitive board. Sometimes it works better as a light progress check: who completed the module, who reached the passing percentage, and which group is more actively participating. In that context, Date and Quiz Name may be more useful than Time Taken. If you display Business, use it as "Department" or "Group" only when that field was actually collected and does not expose unnecessary personal data.

Within a course, the results page matters a lot. A participant finishes the quiz and immediately sees that their result was saved, along with a link to the table. If that link goes to /leaderboard/, the next step is predictable: the user does not have to hunt through the menu to find it. That said, the leaderboard should not be the only proof of completion. Internal QSM reports and quiz results remain the primary source for the admin.

Series of Quizzes with an Overall Standing

If the site runs a series of activities, cumulative leaderboard mode becomes the central option. It should be explained to participants in advance: the final standing is based not on one best attempt but on total cumulative points across completed quizzes. That changes participant strategy. People understand that skipping one quiz will hurt their overall standing, while a steady performance across several activities may beat a single standout result.

For a series, it often helps to build the page in two layers: a cumulative leaderboard at the top, followed by links to individual quizzes and, if useful, separate rankings for each quiz. Do not overload a single shortcode with every purpose. If one block tries to mix the overall standing, recent attempts, a chart, and contest rules, the page becomes harder to understand and troubleshooting takes longer.

Contact Fields, Names, and a Fair Public Table

A leaderboard only feels fair when every participant understands how they are represented in the table. QSM can collect contact fields, and Advanced Leaderboard can display User Name and User Business. These are not just technical fields. They become the public identifiers for a person or group, so they should be designed just as carefully as the questions and scoring.

Start with one question: does the site need a real name? For an open quiz, a pseudonym is often enough. For a course with user accounts, you may use the username if participants already understand that others will see it. In corporate training, a department or organization may be useful, but that does not mean you should also show a job title, email, or phone number. The more personal information appears in the table, the higher the risk of mistakes and the less willing cautious users may be to participate.

Setting Up Name and Business Through the Contact Form

The official QSM documentation describes built-in contact fields such as Name, Email, Business, and Phone, along with the option to add others. For leaderboards, Name and Business matter most. If the table is supposed to include an organization, enable Business before you begin collecting results. Older attempts submitted before that field was enabled may not contain the needed value, so test with a new attempt rather than relying on old data.

It is usually best to make the name field required if the table loses meaning without it. But for public campaigns, you can label it "Leaderboard nickname." That way, the participant knowingly enters the name other people will see. This is safer than automatically displaying an email address or the full WordPress profile name when the user did not expect a public display.

How to Label Fields Without Misleading People

The text before the form should be explicit. If the value will appear in the ranking, say so directly: "This name will be shown in the leaderboard." If Business is being used as team or department, label it "Team" or "Department" instead of leaving the English Business label in the public form. The admin UI can stay in English, but user-facing text should match the site's audience.

After setting up the contact form, run a test attempt with realistic values. Check where they appear: in QSM results, on the results page, in the leaderboard table, and, if used, in the sidebar widget. Sometimes an admin sees the field in results and assumes it will automatically appear in the leaderboard. In practice, that column still has to be enabled in Manage Table and Titles, and the public output still needs to be checked separately.

What to Do with Sensitive Results

If the quiz covers health, psychology, finance, internal certification, or another sensitive topic, a public leaderboard may be the wrong tool. In that case, use the ranking only within a restricted group, display anonymized names, or show aggregated results with no personal rows. Advanced Leaderboard is good at presenting competition, but it should not replace the site's privacy policy.

Even in a standard quiz, avoid making the table too detailed. Do not display email, phone, or participant notes. Do not include the date if it could reveal work patterns or personal activity without a strong reason. A leaderboard should be useful, not merely revealing.

How the Final Output Is Built from Attempts, Columns, and Sorting Rules

QSM Advanced Leaderboard has an underlying chain that is worth understanding before launch. A participant submits a quiz or survey. QSM stores the result with the name, points, percentage, time, and other values, if those were collected and calculated. The add-on takes those records, applies the selected scope, whether that is one quiz, multiple quizzes, or cumulative mode, sorts them by the chosen metric, limits the number of rows, and outputs HTML through a shortcode or widget. On the public side of the site, the visitor no longer sees "raw answers." They see a chosen representation of the results.

That chain explains why problems often show up somewhere other than where they began. If the table shows a blank name, the issue may be in the contact form rather than the leaderboard. If the sort order looks wrong, the cause may be choosing score instead of point_score, or hiding the column that the ranking is based on. If the unique link does not lead to the participant position page, check the slug leaderboard and the %LEADERBOARD_POSITION_URL% variable on the results page.

Input: What the Participant Must Do

The participant needs to complete the published quiz, fill in the required contact fields, and submit the result. If you want to show a name, it must be collected. If you need an organization, the QSM contact form must include the Business field or another field your team uses as the organization label. If the ranking depends on points, the answer options must have point values assigned and the quiz must use the matching grading system.

Product Behavior: What the Admin Chooses

The admin chooses the output level first: global or single quiz. Then comes the format: table, chart, or cumulative leaderboard. After that, the admin configures the columns, order, labels, rank limit, sorting, sort direction, and time period. Every setting should have a visible reason behind it. Do not enable time taken just because the field exists. Do not sort by latest if you promised a best-score contest. Do not show Quiz Name if the page contains only one quiz and the name simply repeats the heading.

Output: What the Visitor Sees

The visitor sees a ranking that should answer the question "where am I and why am I there?" That means the table should display the metric it is sorted by. If a chart is based on points, the labels and legend should refer to points, not percentages. If the results page shows the participant's position, it is also helpful to include a link to the full table so they can check the context.

This approach reduces support questions. The user understands what to do: complete the quiz, submit the form, open the result, go to the leaderboard, and see their position. The admin understands where to check if something fails: contact fields, the QSM result, add-on settings, shortcode, the WordPress page, or cache.

Using a Chart Instead of a Table: When a Bar Chart Actually Helps

The Graph shortcode in QSM Advanced Leaderboard is not there just to decorate the page. It helps when the shape of the ranking matters: one participant is far ahead, several leaders are nearly tied, or a team can see progress across a short campaign. If the reader needs to compare performance levels quickly, a chart works better than a table. If they need to find a specific name and exact placement, the table remains essential.

The documentation describes chart settings such as rank limit, bar chart orientation, the calculation basis using score percentage or points, chart color, text color, and labels based on variables. That is flexible enough, but it is still a mistake to cram everything into the chart. The longer the labels and the more participants you show, the greater the chance that the bar chart becomes crowded and hard to read.

Horizontal or Vertical Chart

A horizontal chart handles long names better. It works well for a top 10 when participants enter a name, company, or pseudonym. A vertical chart looks cleaner in short lists, such as a top 5, but it becomes cramped quickly when labels are long. This is even more noticeable on content with longer words, where narrow columns can break labels awkwardly.

If the page already includes a table, the chart can serve as a quick visual overview above it. The upper block shows the overall shape of the competition, and the table below provides exact values. Do not place two blocks in a row that do the same job. The chart should have its own role: showing the gap, the pattern, or the comparison.

Colors and Contrast

In the graph settings, you can choose a color and a font color. Pick them not only to match the site's branding but also to preserve readability. Light text on a bright background or dark text on a saturated color may look fine in the settings panel and become unreadable in the live theme. Check the graph on a normal page, at mobile size, and in the theme's dark mode if the site uses one.

Do not rely on color alone to indicate the leader. Add the rank, a score or points label, and a short explanation near the chart. That helps people with low vision, users on mobile devices, and visitors reading the page through accessibility features in the browser.

Graph Label and Variables

Graph Label can use variables available in the add-on interface. The key here is not to overload it. A good label answers one question: who is this, and what is their metric? If you try to include the name, quiz name, business, date, score, and time taken all in one label, the chart turns into a lower-quality table. Leave the detail to the HTML table or the page copy.

For a points-based contest, a strong label may be as simple as name plus points. For a percentage-based ranking, name plus percentage works well. For internal training, you may add the department if it is short and genuinely useful. After changing the label, preview it on a narrow screen. If the labels start to blur together, switch back to a shorter version.

Cumulative Ranking Across a Series of Quizzes

Cumulative leaderboard mode deserves special attention because it changes the meaning of the competition. A standard leaderboard answers the question "which attempts are currently at the top?" A cumulative leaderboard answers "who has earned the most points across several completed quizzes?" For a course, challenge series, internal training sequence, or multi-stage quiz, that is often the fairer model.

The documentation describes cumulative leaderboard mode as a shortcode for total cumulative points by individual users across all completed quizzes, with columns for rank, name, points, and total questions. That leads to an important practical limitation: for the table to remain meaningful, the quizzes in the series should use a comparable points system. If one quiz has a maximum of 10 points and another has 100, the overall ranking reflects the weight of the tasks, not just participant knowledge. That may be the right design if you intended it, but it should be stated clearly in the rules.

Preparing the Series

Before launch, map out the quizzes in the series: title, maximum points, whether completion is required, the participation period, and where each quiz is linked. If different quizzes award different numbers of points, explain that as task weighting. If all activities are meant to be equal, normalize them to comparable maximums. Advanced Leaderboard will display the outcome, but it will not decide the scoring method for you.

Check the completed state of each quiz. A cumulative leaderboard based on completed quizzes should not count unfinished attempts. If a participant complains that their points did not make it into the overall standing, first verify whether they completed the specific quiz, whether the result was saved, and whether that quiz is included in the shortcode scope.

How to Explain Cumulative Leaderboard Rules to Participants

It is worth adding a short rule above the table: "The overall standing includes completed quizzes in this series. Placement is based on the sum of points." That is enough when the method is simple. If there is also a time filter or excluded quizzes, add one more sentence. Do not overload the page with policy text, but remove the main uncertainty.

If the series runs for a long time, consider splitting the display: one block for the overall standing, one block for the current week, and one block for individual quizzes. That may require multiple shortcodes on different pages. The important thing is not to place the same quiz shortcode twice on one page when dealing with the quiz itself, and to test each leaderboard shortcode output carefully so you do not create a display conflict.

When Cumulative Leaderboard Is the Wrong Fit

A cumulative ranking is not appropriate if the winner should be determined by a single best attempt, by speed, by the most recent result, or by manual moderation. It can also be unfair if some quizzes are optional or not available to all participants. In that case, use separate quiz-based leaderboards, a chart for a specific stage, or an internal report, and prepare the final public list outside the leaderboard.

Showing the Participant's Position on the Results Page

One of the strongest features in QSM Advanced Leaderboard is its connection to the results page. The documentation describes two variables: %LEADERBOARD_POSITION_URL% for a link to the ranking page and %LEADERBOARD_POSITION% for displaying the participant's position. This is especially useful in contests, where people want to know right after finishing the quiz whether they made it into the top list.

When to Enable the Unique Link

A unique result link is worth enabling if the participant should be able to return to their position later or share the outcome within an allowed use case. In an open contest, this increases engagement: the person does not have to search for the table manually and instead gets a clear path from the results page. In internal training, the link works as a checkpoint: the participant sees that the attempt was counted and can open the leaderboard after the page refreshes.

But this feature has a dependency you should not miss. The documentation states that for the variable to work correctly, there must be a page or post with the slug leaderboard. A variation like top-leaderboard will not work for this mechanism. So if the link does not appear or points to the wrong place, check the slug first before hunting for theme or cache conflicts.

How to Insert the Variable into the Result

Open the target quiz, go to its results page or QSM results templates, and add a short text that includes the variable. The wording should explain the action instead of just printing a technical token. For example:

Your result has been saved. Check your place in the leaderboard: %LEADERBOARD_POSITION_URL%

If you want to display the participant's position without a separate link, use %LEADERBOARD_POSITION% in the result text. Before publishing, test this with two sample participants. One participant is not enough to validate the full behavior, because a one-row ranking does not test the sort order, rank limit, or repeat-attempt behavior.

What to Write Next to the Link

Do not promise that the user will instantly appear in the top list if the table may update with a delay because of caching or if it only shows the first N ranks. A better neutral explanation is: "Your position will appear after the result is saved. If you do not see yourself in the table, refresh the page in a few minutes or check whether your result falls within the selected period." That kind of wording does not make the site look weaker. It reduces frustration and shows that the rules are clear.

Checking the results page with the QSM Advanced Leaderboard variable and link to the leaderboard
The connection between the result and the leaderboard: a variable on the results page takes the participant to the ranking page with the correct slug.

Shortcode, Widget, and Placement on the Site

The same ranking can behave very differently depending on where you place it. A page with a shortcode works well when you need room for rules, a table, a chart, and contest copy. A widget is useful as a compact reminder in a sidebar or theme area. In the block editor, you can use a Shortcode block as long as the theme and plugins do not interfere with processing. Placement affects accessibility, speed, readability, and the risk of cache-related conflicts.

The Leaderboard Page

A dedicated page is the most controllable option. It gives you space for contest rules, the campaign end date in regular page content, the ranking itself, a note about repeat attempts, and a link to the quiz. If you use %LEADERBOARD_POSITION_URL%, the slug leaderboard is especially important on this page. It is also easy to exclude the page from cache and test it separately from the quiz page.

Place the shortcode in its own block, and do not surround it with overly complex theme interactions. If you are using a page builder, test the shortcode on a standard WordPress page first. If it works there but not in the builder, the problem is most likely related to shortcode handling, block caching, or the builder configuration.

Widget in the Theme

The documentation notes that the add-on provides two configurable widgets: leaderboard and graph. You can find them under Appearance -> Widgets. The widget settings let you define the title, quiz ID when needed, and the number of results. This is a good option for persistent rankings, but it has limits: a widget is usually narrower than the main content area, so it works best with fewer columns and fewer rows.

If the theme uses block-based widget areas, check how the widget looks on mobile. Sometimes a table in the sidebar turns into an overly dense list. When that happens, keep only the top list in the widget and place the full leaderboard on a separate page.

Short CSS for a Safe Wrapper

If the table overflows its container, do not edit the plugin files. Wrap the shortcode in your own container inside the page editor and add CSS through a child theme or the standard Additional CSS section in WordPress. This is a safe custom adaptation based on standard WordPress CSS practice, not an official Advanced Leaderboard feature.

<div class="training-leaderboard">
  [mlw_qmn_single_leaderboard mlw_quiz="1" ranks="10" name="Training leaders" order="point_score"]
</div>
.training-leaderboard {
  overflow-x: auto;
  max-width: 100%;
}

.training-leaderboard table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
}

.training-leaderboard th,
.training-leaderboard td {
  padding: 10px 12px;
  text-align: left;
}

Test the result on a copy of the page: the table should scroll horizontally only when it runs out of room, and on a wide screen it should still look like a normal table. The rollback is simple: remove the training-leaderboard container and delete the added CSS. Do not use custom CSS if the theme already handles wide tables cleanly.

Detailed Configuration After Installation

Once the basic setup is working, QSM Advanced Leaderboard should be configured not by the principle of "turn everything on," but by moving from the business rule to the visible outcome. Below is a practical sequence that works well for most WordPress sites using QSM.

Step 1. Choose One Primary Metric

Decide what the ranking is based on: percentage of correct answers, points, submission date, or time. For a training quiz, percentage or points usually makes the most sense. For a trivia quiz with equally weighted questions, percentage is often clearer. For an activity where questions have different weights, points provide a more honest picture. Submission date works for a list of recent results, but not for determining a winner.

After choosing the metric, enable the matching column in Manage Table and Titles. This is a small but critical check: the documentation explicitly warns that when you choose order parameters, the matching table column should also be enabled. Otherwise, the admin may sort by a hidden metric and visitors will have no idea why the rows appear in that order.

Step 2. Set the Rank Limit

Choose a reasonable row limit. For a public page, start with 10 or 20 ranks unless you have a specific reason to show more. For a private course, you can increase the limit so every participant can find themselves. If you are using a widget, lower the number of rows, because narrow areas do not handle long lists well.

Step 3. Trim the Table to the Columns People Actually Need

Start with Rank, User Name, and the selected outcome metric. Then add Date if the time period matters, and Quiz Name if the output includes multiple quizzes. Only enable Business after the contact form is configured. Add Time Taken intentionally: it is a good metric for a speed-based contest, but a questionable one for training.

Step 4. Check the Labels and Order

Rename the column headers so they make sense to participants. In English content, labels such as "Rank," "Participant," "Points," "Percentage," "Time," and "Date" work well. If the add-on UI stays in English, that is fine for the admin panel, but the public table should match the site's audience. Put Rank and name first, then the primary metric, then the secondary fields.

Step 5. Configure the Time Period and Sort Direction

Choose ascending or descending based on the rule. For points and percentages, you usually want higher values first. For time, it depends on how your ranking works: if the winner is the person who finished faster, a lower time may be better, but it should still be paired with the result so quick wrong answers do not become an advantage. For a list of recent completions, date sorting serves a different purpose, showing fresh activity.

Step 6. Run Control Test Attempts

Create at least three test results with different names and deliberately different points or scores. One result should be high, one medium, and one low. If you are testing a time filter, add one older result that should not pass the filter, or temporarily use a short test range on a staging copy. After saving the settings, open the public page and compare the order with what you expected.

Step 7. Roll Back Questionable Settings if the Outcome Stops Making Sense

If the table becomes too hard to understand after enabling average mode, time taken, a date range, or extra columns, roll back only the last change. Do not reinstall the add-on and do not delete QSM results. Most issues can be solved through targeted checks: restore the previous order, remove the wrong column, widen the page container, clear cache, or copy the shortcode again from the interface.

Practical Example: A Training Quiz Contest

Let us walk through a concrete use case. Imagine a training center site with a short quiz for an introductory module. You want to show a participant ranking by points, limit the table to the top 10, give each person a link to their position after completion, and avoid exposing unnecessary personal data. This is a strong fit for QSM Advanced Leaderboard because it uses QSM results, a leaderboard shortcode, and results-page variables in one connected flow.

Goal

Create a /leaderboard/ page that shows the top 10 by points, and on the results page after the quiz, give the participant a link to their ranking position. Publicly, show only rank, name, points, and date. Do not display Business, email, phone, or other extra fields.

Preparation

  • The core Quiz and Survey Master plugin is installed and active.
  • The quiz is published, and point values are assigned to the questions.
  • The contact form collects the participant's name or pseudonym.
  • QSM Advanced Leaderboard is installed, active, and available in the add-on settings.
  • A blank WordPress page has been created with the slug leaderboard.

Configuration Steps

  1. Open the target quiz for editing and go to Add-ons -> Advanced Leaderboard.
  2. In Manage Table and Titles, enable Rank, User Name, Point Score, and Date.
  3. Rename the public column headers to "Rank," "Participant," "Points," and "Date."
  4. In Manage Shortcodes, generate the leaderboard shortcode for one quiz, set the rank limit to 10, and choose points-based sorting in the correct direction.
  5. Copy the shortcode with the interface button instead of typing it manually.
  6. Paste the shortcode into the /leaderboard/ page using a Shortcode block or another area where WordPress definitely processes shortcodes.
  7. In the quiz's Results Pages, add text containing %LEADERBOARD_POSITION_URL% so the participant receives a link to the table.
  8. Save the settings and run several test attempts under different names.

Verification

Open the /leaderboard/ page in a normal browser with no admin session. The top row should belong to the test participant with the highest points if you selected descending points order. On the results page after completion, a link to the leaderboard should appear. If the link does not appear, check the page slug and confirm that the variable was placed in the actual results page template.

One Detail About Repeat Attempts

If the participant can take the quiz multiple times, decide in advance what should count as the final outcome: the best attempt, the latest attempt, an average, or cumulative points across a series. Do not promise one behavior until you have confirmed how the selected shortcode displays the data. For a quiz series, use cumulative leaderboard mode. For one quiz with repeat attempts, always test with two attempts submitted under the same name.

Practical example of a contest page using QSM Advanced Leaderboard with participant position verification
This example shows a working contest flow: quiz, leaderboard page, position link, and control test results.

Checking the Outcome Before Publishing

Publishing a leaderboard without a control check is risky. The table may display correctly on a technical level and still fail to match the contest rules. That is why the final test should imitate real behavior: multiple participants, different scores, different dates, a mobile screen, a guest user without admin rights, and the site's cache enabled if the site uses one.

Control Data

Create at least three test attempts. The names should be different and easy to recognize, such as Test High, Test Medium, and Test Low. If you display Business, fill it with different values. If you are testing a chart, use clearly different points or percentages so the bar heights are obviously distinct. Then compare the public row order with the expected outcome.

Checking the Page and Widget

Open the ranking page as a guest, at a standard mobile size, and in a browser where you are not logged into WordPress. Then check the widget as well if you are using it in a sidebar or theme area. The widget should display a short, readable list. If a table inside the widget breaks the layout, do not try to squeeze every column into it. Keep the widget as a teaser and move the full table to a dedicated page.

Checking the Results Page Variables

After submitting the quiz, make sure the results page renders the variables as output rather than plain text. %LEADERBOARD_POSITION% should display the position, and %LEADERBOARD_POSITION_URL% should display a link to the leaderboard page if the slug requirement is met. If the variable appears as text, it is likely inserted into the wrong template, the add-on is not active, or the current version or setup does not process it in that location.

Checking Cache

If the result does not change after a new attempt, clear the page cache and check the ranking in a private window. A dynamic leaderboard page often needs its own caching treatment: excluding the page, using a short cache lifetime, or disabling aggressive optimization for the block containing the shortcode. Do not disable the entire site cache without a reason. First isolate the leaderboard page and confirm that it is the part showing stale data.

Editorial Rules for a Leaderboard Page

The technical setup solves only half the problem. The other half is the copy around the ranking. If the participant does not understand the rules, even a correctly sorted table will create questions. This matters especially for QSM Advanced Leaderboard because the add-on can display several different views: single quiz, all quizzes, graph, and cumulative leaderboard. Each format needs its own short explanation.

A good leaderboard page answers five questions before anyone starts arguing with the result: which quiz or series is included, which metric matters most, how many attempts count toward the ranking, which period the table covers, and why those specific fields are visible. You do not need a long policy document. Three to five sentences above the shortcode and one explanatory line below it are usually enough.

What to Write Above the Table

Before the leaderboard, explain the rule in plain language. For example: "This table includes completed attempts from the introductory quiz. Placement is based on points, and ties are ordered by submission date." If you are using a cumulative leaderboard, the wording should change: "The overall standing is based on the sum of points from completed quizzes in this series." If the ranking is limited to a time period, state that in words, not only inside the shortcode settings.

That kind of text is especially helpful if you display Date, Time Taken, or Quiz Name. Without an explanation, those columns can look random. With one, they become proof of the rule: the user can see why their row appears where it does.

What to Write After the Table

After the table, it helps to add a short check such as: "Do not see your result? Make sure the quiz was fully submitted, your name was entered, and the attempt falls within the current period." This reduces support load and immediately points the participant to the real reasons. If the leaderboard updates with a delay because of caching, say honestly that the result may appear after the page is refreshed.

Do not make promises like "the result appears instantly for all users" if the site uses caching or optimization. A safer and more accurate version is: "After a result is submitted, the table updates according to the site's cache and refresh settings." That is more precise and avoids unrealistic expectations.

How to Explain Repeat Attempts

Repeat attempts are the biggest source of confusion. If each attempt may appear in the leaderboard separately, that should be stated clearly. If you are using average mode or cumulative mode, that rule also needs to be explained. Otherwise, a participant may see themselves twice or fail to find their best score and conclude that the plugin is broken.

For open contests, it is usually better to choose a simple rule in advance. Complicated behavior such as "we count the best attempt, but only within the last few days, excluding attempts after manual review" does not fit well on a standard shortcode page. If rules like that are genuinely necessary, the leaderboard may need to function as a public display only, while the final outcome is confirmed through an internal admin report.

Post-Launch Support and a Regular Check Plan

Once the leaderboard is published, it should not be left alone, especially if it is being used in a contest or course. Participants will complete quizzes at different times, admins may edit questions, the theme may update, and caching may start behaving differently. A small maintenance plan helps you catch issues before they turn into a public dispute over results.

After the Quiz Changes

If you add questions, change points, update correct answers, or switch to a different grading system, old and new results may stop being comparable. Advanced Leaderboard will honestly display what is stored in the results, but it will not explain to participants that the scoring rules changed in the middle of the contest. So before editing a published quiz, decide whether a new ranking period should begin, whether a new quiz should be created, or whether a note about the change is enough.

For training projects, it is often useful to treat major changes as a new phase. That way, the leaderboard for the old period remains an archive, and the new period starts with clean rules. If you simply change point values in a live quiz, run control attempts and check how the new values look next to the old ones.

After Updating QSM or the Add-On

Updates matter for functionality and security, but public pages should always be checked afterward. Open the leaderboard page, the quiz page, the results page, and the widget if you use one. Verify that the shortcode behavior has not changed, the graph still loads, the results variables still render, and the theme CSS has not broken the table. This only takes a few minutes, but it can save a lot of support time.

Before updating the production site, create a backup and, if possible, test the change on a copy. Not because the developer is untrustworthy, but because a live site may include cache plugins, builders, custom CSS, translated UI strings, and user roles. Unexpected effects are usually caused by the interaction between extensions rather than by one add-on in isolation.

Weekly Check for an Active Contest

For an active campaign, keep a simple checklist. Once a week or before an important email goes out, open the page as a guest, submit a test attempt, verify the sort order, confirm that the period filter still matches the rules, and view the table on a mobile screen. If you are using a cumulative leaderboard, check one participant who completed multiple quizzes and one participant who completed only one.

This kind of check does not require special technical tools. Predefined test accounts or pseudonyms and a clear idea of the expected order are enough. If everything matches after the review, you can send the link to participants with confidence.

Limitations You Should Know Up Front

QSM Advanced Leaderboard solves a specific problem: it displays rankings based on QSM results. It is not a moderation system, not a complex analytics platform, not a custom SQL reporting builder, and not a universal gamification engine. The more clearly you accept those boundaries, the more stable the implementation will be.

Not Every Data View Belongs in One Shortcode

If you need to display dozens of fields, several time periods, a chart, a cumulative total, recent attempts, and separate rankings for each quiz, it is better to split that across multiple pages or blocks. One shortcode should solve one reader problem. On a public page, that means showing the current leaders. For internal analysis, move to reporting or export. For the final published standings, prepare a final list based on confirmed rules.

A Leaderboard Does Not Fix a Bad Scoring Model

If the questions use arbitrary points, different quizzes are not comparable, or correct answers are configured incorrectly, the leaderboard will only make the problem more visible. Before launch, review the quiz itself: correct answers, point values, results page conditions, required fields, and publication status. In support cases about sorting, part of the issue often starts not in the table but in how the admin understands the difference between score and points.

The Public Output Depends on the Theme

Advanced Leaderboard generates the output, but the final width, font, link color, spacing, and responsive behavior depend on the theme. If the table looks different from what you expected, that is not always the add-on's fault. Test with a default theme or a plain page without a builder to see where the issue begins. After that, you can safely add a CSS wrapper, reduce the number of columns, or move the table into a wider area.

Complex Gamification Requires a Different Architecture

If the site needs to award points for comments, purchases, visits, achievements, levels, and actions outside QSM, QSM Advanced Leaderboard may be too narrow. In that case, you can keep the current add-on for QSM quizzes and build the broader points system with GamiPress, myCred, or another specialized platform. The key is not to mix point sources without a clear rule, or users will see different kinds of "points" in different parts of the site and have no idea which ones actually matter.

Participant Data, Privacy, and Security

A leaderboard may seem simple, but it displays data from QSM results on the public side of the site. That gives it not only design implications, but editorial responsibility as well. The setup should answer three questions: which data can be shown, who is allowed to edit the page with the shortcode, and whether current versions of QSM and the add-on are installed on the site.

Public Fields

Do not display more data than the ranking requires. A name or pseudonym, points, percentage, and date are usually enough. Business can be shown in a corporate or team context if participants know that this field will appear in the table. Email, phone, and other contact fields are generally better left in the admin panel or reports rather than exposed through the leaderboard.

If the site works with sensitive audiences, add a short note before the quiz explaining which data will appear in the ranking and whether a pseudonym can be used. This is not legal advice. It is a practical transparency measure. The clearer the rule before form submission, the fewer conflicts you will face after results are published.

Editor Permissions and Shortcode Pages

WordPress shortcodes are processed by active plugins, and their attributes affect the output. That means the leaderboard page should not be open for free editing by every site author. Limit the ability to change contest pages, especially when they include shortcodes with quiz ID, order, date range, or rank parameters. One mistake in a single attribute can change the visible result for the entire audience.

Updates and Security

The official add-on changelog includes fixes related to access checks, nonce handling, shortcode processing, and output escaping. External vulnerability databases also show that timely updates matter for the QSM core plugin itself. So before launching a public contest, make sure WordPress, QSM core, and Advanced Leaderboard have all been updated through a standard channel, and that a site backup has been created before the update.

Do not promise absolute protection. A realistic working-team statement is: "We use current versions, restrict editing of pages with shortcodes, avoid exposing unnecessary personal fields, and review the page after updates."

Troubleshooting Common Problems

Most QSM Advanced Leaderboard issues are easiest to diagnose by following the chain: the result exists in QSM, the shortcode is processed, the settings match the goal, the table is not cached, and the public fields are filled in. Do not start by reinstalling the add-on. First identify which step in the chain is breaking.

The Page Shows the Shortcode Text Instead of a Table

Symptom: the visitor sees a bracketed shortcode string instead of a table or chart. A likely cause is that the add-on is not active, the shortcode was inserted into a place where WordPress does not process it, or the shortcode name contains a typo.

What to check: whether QSM core and Advanced Leaderboard are active, whether the shortcode was inserted through a Shortcode block, whether the shortcode was copied exactly from the add-on interface, and whether there are extra quotes or line breaks inside an attribute. If the shortcode was typed manually, copy it again from Manage Shortcodes.

How to fix it: activate the add-on, place the shortcode into a supported block, save the page, and test it as a guest. If a page builder does not process the shortcode, temporarily test the same shortcode on a standard WordPress page. That helps separate a builder problem from an add-on problem.

The Table Is Empty Even Though the Quiz Is Published

Symptom: the leaderboard appears, but there are no participant rows. Possible reasons include no completed attempts, the wrong quiz being selected, a time filter excluding all results, a rank limit that is too restrictive in combination with the filter, or results not being saved because of quiz settings.

What to check: whether there are test results in QSM, whether the quiz ID is correct, whether disabling the date range or recent-days filter temporarily changes anything, whether a new attempt appears after cache is cleared, and whether a global shortcode includes the intended quizzes in its advanced settings.

The Sort Order Does Not Match the Expected Scores

Symptom: a participant with more points is not ranked higher, or the table looks as if it is sorted by a different metric. Possible reasons include using score instead of point_score, the wrong sort direction, the selected metric column being hidden, quiz questions using unexpected point values, or answers being configured as correct/incorrect without the points behavior you expected.

How to fix it: first check the grading system and question point values in QSM. Then in Advanced Leaderboard, choose the order that matches the correct column and enable that column in Manage Table and Titles. If your version's support documentation refers to point_score, use it when testing a points-based leaderboard. After making the change, run three control attempts with different point totals.

One Participant Appears Multiple Times

Symptom: the same person appears in several rows after multiple attempts or after completing different quizzes. A likely reason is that you selected an output mode that shows separate records rather than a cumulative mode. This expectation comes up often in QSM support discussions: the admin wants "one row per person," while the shortcode shows separate completions.

What to check: whether you actually need an all leaderboard, an individual quiz leaderboard, average result mode, or a cumulative leaderboard. If the rules are based on total points across a series, use cumulative leaderboard mode. If you need a single participant's best attempt, check whether your version of the add-on supports that behavior through the UI. Do not promise merged attempts until that behavior has been confirmed in your active mode.

The Position Variable Does Not Create a Link

Symptom: %LEADERBOARD_POSITION_URL% does not turn into a working link or points to the wrong page. The first thing to check is the page slug. The documentation requires the URL to contain leaderboard in the required form, such as /leaderboard/.

How to fix it: create a WordPress page with the slug leaderboard, place the leaderboard shortcode on it, publish the page, then add the variable to the results page template for the target quiz. After that, submit a new test result and check the link. If older results do not show the link, test with a new attempt to rule out cache and older templates.

The Business Column Is Empty

Symptom: the field is enabled in the table, but participants do not have a value. A likely reason is that the QSM contact form is not collecting Business, or the participant completed the quiz before that field was enabled. The Advanced Leaderboard documentation directly links User Business to the contact form configuration.

How to fix it: open the Contact tab for the target quiz, enable or configure the Business field, and verify that it is shown to the participant and saved in the results. Then run a new attempt. Old results are not always useful for testing a newly added field because the field did not exist at the time those responses were submitted.

The Chart Does Not Load or Looks Empty

Symptom: the table works, but the graph shortcode does not display the expected bar chart. Possible causes include missing data for the selected chart basis, a JavaScript optimization conflict, stale page cache, or a version-related issue, since the add-on changelog has included fixes related to chart loading.

What to check: QSM core and add-on updates, the presence of results with the required score or points, temporary disabling of script optimization for testing, clearing page cache, and switching the graph orientation. If the chart still fails after the basic checks, record the shortcode, settings, and test-page URL before contacting support.

Troubleshooting map for QSM Advanced Leaderboard issues involving shortcode, sorting, cache, and the leaderboard slug
This troubleshooting map helps you quickly pinpoint where the chain broke: QSM data, add-on settings, shortcode, the WordPress page, or cache.

Useful Combinations with QSM and WordPress

QSM Advanced Leaderboard usually does not work in isolation. It sits inside a chain of WordPress pages, QSM results, the contact form, results pages, widgets, and sometimes other add-ons. Do not call every combination an official integration unless the developer explicitly documents it that way. But there are safe practical combinations built on documented QSM and WordPress features.

QSM Contact Form + Leaderboard Columns

If you need rankings by departments, groups, or organizations, configure the QSM contact form first and only then enable the User Business column in Advanced Leaderboard. The role of the QSM contact form is to collect the value. The role of the add-on is to display that value in the table. The main friction point is older results where the field was not filled in yet. The verification step is a new test attempt with the Business field completed.

Results Pages + Leaderboard Page

Results Pages control what the participant sees after submitting the quiz. Advanced Leaderboard controls the public ranking. The connection is built through %LEADERBOARD_POSITION_URL% and the /leaderboard/ page. A possible conflict is the wrong slug or cached results pages. The rollback is simple: remove the variable from the result template and keep a regular message until the leaderboard page is fixed.

Cache System + Dynamic Ranking

Cache makes the site faster, but it can also show an outdated version of the leaderboard. The role of cache is to serve the page faster. The role of Advanced Leaderboard is to show current results. If the ranking needs to update after every attempt, exclude the /leaderboard/ page from long cache retention or set a short cache lifetime. The verification step is a new attempt, a cache clear, and a guest-view comparison.

QSM Add-Ons for Related Jobs

If you need more than a ranking, such as answer analysis, result delivery, access control, or chained activities, look at other QSM add-ons based on the specific need. For example, in the QSM ecosystem, Gamify handles game conditions and access to the next quizzes, while Export Results or Reporting & Analysis deal with reporting. Advanced Leaderboard should not be forced to do everything: its strongest area is public ranking of results.

Answers to Common Questions About Leaderboard Setup

Can I use the add-on without the core Quiz and Survey Master plugin?

No. In practice, that would not make sense. QSM Advanced Leaderboard is an add-on for Quiz and Survey Master and depends on the results created by QSM. First you need a working quiz or survey, then the ranking.

Why does the documentation recommend copying the shortcode from the interface?

Because the shortcode includes attributes such as quiz, ranks, order, time period, sort direction, and other parameters. A mistake in a single name can produce unexpected output. The Manage Shortcodes interface helps generate the correct string for your version of the add-on.

What should I choose for a contest: score or point_score?

If the contest is based on the percentage of correct answers, use score or the matching Correct Score setting. If the questions have different weights and the winner is determined by total points, check the point score option. In QSM support cases, the point_score parameter comes up as an important check for points-based sorting.

Can I show the participant's position immediately after the quiz?

Yes. The Advanced Leaderboard documentation describes the %LEADERBOARD_POSITION% and %LEADERBOARD_POSITION_URL% variables. For the link to work, you need a published leaderboard page or post with the slug leaderboard. After inserting the variable, test it with a new sample attempt.

Why does one user appear several times in the ranking?

Usually, that means you selected a mode that displays separate attempts or results rather than a cumulative view. If the rules require an overall standing across multiple completed quizzes, use cumulative leaderboard mode or a confirmed average setting if that matches your use case.

Will the leaderboard affect site performance?

Any dynamic block can affect load time, especially if the page shows many rows and several columns. Start with a reasonable rank limit, avoid unnecessary fields, test the page as a guest, and configure cache separately if the ranking needs to update often.

Should I display participant email addresses in the table?

In most public use cases, no. A ranking usually only needs a name or pseudonym and the result. Email and phone are better kept in QSM results or used in internal workflows if the site needs them and they were collected with clear consent.

What should I do if the table looks different after an update?

First check the column settings and shortcode, then cache and theme CSS. If you added your own CSS wrapper, temporarily disable it. Do not edit the add-on files, because those changes will be lost during the next update.

When QSM Advanced Leaderboard Is the Right Choice

QSM Advanced Leaderboard is worth using when your results are already being generated inside Quiz and Survey Master and the site needs a manageable public ranking: a table, chart, cumulative standing, widget, or a participant position link after completion. The add-on is strongest in training quizzes, quiz competitions, internal knowledge checks, and activity series where the outcome should be visible not only to the admin, but also to the participants themselves.

Before publishing, do not skip the practical validation: three test participants, different scores, the selected time period, the right columns, opening the page as a guest, checking it on mobile, and clearing cache. If everything matches the contest rules, you can move on to the download section and download QSM Advanced Leaderboard for installation on a production site or test environment.

If you only need a simple top-5 list inside one quiz, check the basic QSM Leaderboards add-on. If you need broader site-wide gamification, balances, and achievements across different actions, compare GamiPress or myCred. But if your task is "show participant rankings based on QSM results and manage the table, chart, time period, and cumulative points with flexibility," this add-on is the most direct way to do it.

By OceanTheme.org Editorial Team

 

You are not logged in to post comments.