Advanced Goals

THIS ARTICLE WILL HELP YOU:

Overview

Tracking a conversion sometimes does not depend solely on only one event occurring. Sometimes, we might want to track conversions only if two or more events have occurred. 

For example, I might want to track people that reached a page, or stage of the funnel, but only when they have passed through a specific page, as there might be several routes to that particular page.

Convert template goals only track a specific event, such as a page visit, form submission, element click, purchase, etc. So it is not possible to track this type of event solely with these goals. 

You can create Advanced goals with the Advanced Goal Template, that evaluate conditions such as another Goal being previously triggered/converted along with other visitor-based data conditions, that are joined by AND and LOGICAL operators to track anything you might require. 

How to Create an Advanced goal

To solve this, you can utilize the Advanced Goal editor. 

So, let's carry on with the scenario we wrote in the "Issue" section. Let say that we want to track people that get to the final funnel page with the URL, https://www.domain.com/finalstep.html, but we only want to track people, which have visited step 2 in the funnel with the URL https://www.domain.com/step2.html.

A requirement for tracking a compounded goal using this method is that the first conversion has to happen previously to the page view in which the second conversion occurs. 

  1. So, first let's go and create our Step 2 page visit goal, using the Page Visit Goal template:



  2. Now we will create the second goal to monitor when the second page is reached and also check if the first conversion happened. 

    To do this, let's create a second goal and we will name it, "Final Step through Step 2". We have to create an advanced goal:

    We will first add a condition to test if the first "Step 2" goal has been triggered. Search for the "Triggered Goal" condition under "Visitor Data", and then drag it from the right column to the main pane:



  3. Then create the second condition to track test if the visitor has reached the final stage page. For this, we need to drag the condition "Content > Page URL" to the main condition pane beside the "AND".

    And we should add the final page URL. The goal should look like the following at the end of the configuration. Save it, once it is configured the same way:

    advanced-goal
  4. Include all other conditions that you feel should be important for your advanced goal to be shown as Converted. Make sure that you understand how these logical conditions will be evaluated in the way that you nest them and join them using AND and OR logical operators. 
  5. Make sure that the Advanced Goal and all other included goals in the advanced goal are attached to your experiment.

Handling DOM Interaction Goals with Event Propagation

Convert's tracking script attaches a single event listener to the document for DOM Interaction goals like clicks and form submissions if customer-specific event listeners on the same elements use event.stopPropagation() or event.stopImmediatePropagation(), this may prevent these events from reaching Convert's listener.
To debug this issue, you can test if event propagation is being blocked by other handlers with this code:

const element = document.querySelector('ELEMENT_SELECTOR');
if (element) {
  element.addEventListener('click', (event) => {
    console.log('Event captured'); 
    // If this message appears in the console, the element is not blocking propagation.
  });
}

If no message is logged in the console when interacting with the element, it suggests that another script is intercepting the event. Ensure no conflicting handlers block event propagation if the goal is not triggered as expected.

Testing an Advanced Goal

  1. Open a fresh incognito session.
  2. Navigate to the test URL, and get bucketed in the experiment that has the goals attached. Verify this with the Convert Chrome Debugger Extension by searching the experiment id in the Chrome Developer Tools console log.
  3. Trigger each of the goals included in the Advanced goal, one by one. Verify that they are triggered by searching the goals in the Chrome Developer Tools console log.
  4. Once you are sure that all the goals included in the Advanced goal, have been triggered, then navigate to any of the pages where your Convert Project tracking code has been included. With this page view, the Advanced goal will be evaluated. Verify on the Chrome Developer Tools console log that the goal has been triggered, and evaluated to true, by searching its goal id. 
  5. You can also check the goal conversion on the Convert app. Make sure before you start the testing of your goals, you set a QA audience for your experiment, and that you include it on the URL when visiting the page with the experiment.
  6. In the Chrome debugger, you will be able to see the result of the evaluation of each of the conditions included in the Advanced goal, being 'Goal Triggered equals to true' or anything elseIf the join of the results of the conditions based on the AND's and ORs joins setup in the advanced goal result on false, the goal will not be triggered or set as converted.
  7. You can use the QA Guide which is a very detailed guide on how to debug your experiments after they have been configured and before they are launched to all the public.

Page View Required for Advanced Goal Evaluation

Convert requires that a page view is executed by the visitor after it has triggered the goals contained in the Advanced Goal, so it has a chance of being evaluated. 

If the goals included in your Advanced Goals, are event goals, such as click goals, link goals, revenue goals, then it will be required that the visitor does a page view after these goals have been set as converted, for the Advanced Goal to be evaluated. 

Common Pitfalls

If the Advanced goal is not triggering as expected, these are things that have to be considered:

  1. All Conditions Evaluating as True: Check if all the conditions included in the Advanced goal are returning true when the Advanced goal is being evaluated. You can find this out, by Testing the Advanced Goal, and searching for the goal id in the Chrome Developer Tools while having turned on the Chrome Debugger Extension.
  2. Page View Does not Occur after event goals triggered: It might be the case that your goal includes Triggered Goal conditions and that the goal included are event goals such as click goals, link goals, revenue goals, scroll goals, custom JS goals, and that there is no pageview by your visitors after this goal has been evaluated. So, you should verify that the page view occurs after the included goals in the Advanced Goal are triggered or signaled as converted.

tag: Compounded Goals