Multi-step goal

This type of goal lets you set a sequence of steps that the user completes to reach a goal. These steps can be pageviews or JavaScript events.

Tip. Some users might complete the goal somewhere other than on the site, such as by making a phone call. To count these users, configure transmitting call tracker data to Yandex.Metrica. Then you can add calls to Yandex.Metrica reports and also use a special group of reports.
  1. How to create a multi-step goal
  2. Requirements and restrictions
  3. Example of user registration on a site

How to create a multi-step goal

  1. In Yandex.Metrica, go to Settings and open the Goals tab.
  2. Click Add goal.
  3. In the Name field, enter a name for the goal to create.
  4. Set the option to Multi-step goal.
  5. Click Add goal. The created goal is shown in the list of goals.
  6. Click Save. Yandex.Metrica begins collecting statistics within a few minutes after saving settings.
  7. Check whether the goal is working correctly.

Criteria for tracking pageviews

Condition Description
“url: matches” Specify the full URL of the target page.
“url: contains”
Specify part of a URL. Use this option if there are multiple target pages and they can be combined with a single condition. Specify as much of the URL as possible so the goal is completed only on the desired pages.
If the condition is /abc, the goal will be completed on the pages,, and
“url: begins with...”
Only the first part of the URL is specified. Use this condition if you want to track views in subdirectories.
If the condition is, the goal will be completed on the pages,, and
“url: regular expression” Used for tracking URLs that match a custom pattern.

If you want the goal to be completed for pageviews with URLs containing the + sign, put %2B in the template in place of the + character.


See the examples for using “url:” criteria.

“Event: goal ID” as a condition in a multi-step goal

An event in a multi-step goal is an event transmitted to Yandex.Metrica via JavaScript. When you create a goal, you set its identifier. When a goal is completed, the reachGoal method is called, and the specified ID is passed to it.
  1. Use the reachGoal method on site pages.


    Clicking a button
    <form action="">
        <input type="button" onclick="ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); return true;" value="Order" />


    • XXXXXX is the tag ID.
    • TARGET_NAME is the goal identifier.
    Filling in a form
    <form action="" method="get" onsubmit="ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); return true;">


    • XXXXXX is the tag ID.
    • TARGET_NAME is the goal identifier.
  2. In Yandex.Metrica, go to Settings and open the Goals tab.
  3. Set the option to Multi-step goal.
  4. For the condition, choose the “goal ID event”.
  5. Specify the ID of the goal.

Requirements and restrictions

  • A goal may contain a maximum of five steps. Each step can have up to 10 conditions.
  • Don’t forget that each step must require completing the previous step. For example, if a user can skip the first step and immediately perform the second step, the goal is not considered completed.
  • The steps don't have to be completed directly one after another. On their way to the goal, users might visit different pages of the site and perform other actions not related to the goals of the steps.
  • The steps must be completed during a single session.
  • Conditions in steps are combined with the OR operator, so the goal is considered completed if at least one of the set conditions is met.
  • A maximum of 200 goals can be set for each tag.
  • The service registers a user completing the same goal on the same tag no more than once per second.
  • During a single user session, the service can register up to 400 completions of all the goals created for the tag.
  • If you edit the tag or a goal, all the previously collected information does not change.
  • If you delete a goal, the information collected for it will not be available in reports.

Example of user registration on a site

The tag owner's site has a “Sign up” link ( When a user clicks the link, it opens a form to fill in with the “Submit” button.

For the first step:

  1. Set the type of condition to “url: contains”.
  2. Specify the condition registration.
For the second step, use a JavaScript event:
  1. In the form on the site, use the reachGoal method. It is called when the goal is completed (in this case, when the user clicks the “Submit” button).
  2. In the Yandex.Metrica interface, choose the “event: ID” condition, and specify the goal ID set in the reachGoal method.

Select a question to find a solution.

Goals in Yandex.Metrica work the same way for any sources. Perhaps there aren't any users who have completed the goal from this source yet.

This might happen for the following reasons:
  • The goal condition in Yandex.Metrica doesn't cover all the possibilities. For example, the goal is set as going to the order confirmation page, but the site also allows quick orders without visiting this page.
  • The site user has a browser plugin that blocks the Yandex.Metrica tag, so this user isn't counted.
  • The user has an antivirus system with strict privacy settings.
  • The user has a slow internet connection, so the Yandex.Metrica tag didn't load on the target page.