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. Users might complete a goal somewhere other than the site, like over the phone. To count these users, set up 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

Restriction. You can't use the following as a step:
  1. In Yandex.Metrica, go to the Goals page in the left menu.
  2. Click Add goal.
  3. In the Name field, enter a name for the goal to create.
  4. Select the Multi-step goal type.
  5. Click Add goal. The created goal will appear in the list of goals. Yandex.Metrica will start collecting statistics on it within a few minutes.
  6. 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 set to, the goal will be completed on the pages,, and
url: regular expression Used for tracking URLs that match a custom pattern.

When handling the condition, symbols such as ?, #, &, and dots (.) are removed from the end of the URL. For example, for the URLs,, and, the comparison will be made with,,, respectively. To add these symbols, except a dot, to the URL, use the url: regular expression condition.

If you want the goal to be completed for pageviews with URLs containing the plus 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 ID. When a goal is completed, the reachGoal method is called, and the specified ID is passed to it.
  1. In Yandex.Metrica, go to the Goals page in the left menu.
  2. Select the Multi-step goal type.
  3. Choose the “goal ID event” condition.
  4. Specify the goal ID. The Goal code for the site appears under the ID field. Copy the code. You'll need it to configure the reachGoal method on your site.
  5. Use the reachGoal method on site pages.


    <form action="">
        <input type="button" onclick="ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); return true;" value="Заказать" />

    where ym(XXXXXX, 'reachGoal', 'TARGET_NAME') is the goal code for the site from the goal settings.

Requirements and restrictions

  • A goal may contain a maximum of five steps. Each step can have up to 10 conditions.
  • Select a chain of steps so that each subsequent step can't be taken unless the previous one is performed. For example, if a user can skip the first step and immediately perform the second step, the goal is not considered completed.
  • The user must follow the sequence of actions defined in your goal settings. However, they can still complete actions that are not linked to any goals, such as viewing other site pages. This won't break the sequence required to achieve your goal.
  • 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 that completes 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 a tag.
  • If you edit a tag or goal, previously collected information doesn't change.
  • If you delete a goal, information collected for it, is no longer 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 source. 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 instant checkout 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.