We’ve just pushed a (mostly cosmetic) update to funnels. I say “cosmetic”, but we think it’s a much better UI/UX that addresses several concerns that you, our users, have raised. The update includes:
Streamlined UI/UX
Design better aligned w/ Data Explorer
Ability to view multiple segments within the same graph
Ability to view both the funnel and its parameters within same graph
Overall conversion rate appears in funnel overview
Improved naming of funnel steps for improved clarity
Various minor bug fixes
This is not the end of our funnel update process. Keep an eye out for further improvements coming soon!
Hi there, looks great!
Sorry to ask here, but can I set a funnel in code, with in the game? Or must each be set by hand online?
Thanks
ex, I have 6 worlds, 20 levels each, 120 levels total. I want to see what levels are played. I would prefer a single line of code, vs 120 entrances into the web portal, by hand.
Thanks
We don’t have a coding API, but we do have a new templating system which uses Standard Events to build out a funnel. It doesn’t precisely do what you’re asking, but it comes close. You can now click “From Template” and choose a Level Completion template, telling it how many levels you have. We currently limit this template to 50 levels (I’m investigating the reason for that limit)…but perhaps simply spin up one funnel for each world for now (or wait to see if we change it )? As I say, not perfectly in line with what you’re requesting, but hopefully would work for now.
Hi do the funnel set up the levels, in the web page, each level in world x, has a Level Started, and a Level Completed slot. What I am wondering is, how do I access these slots, via Code.
Is it a Analytics.CustomEvent()?
If so, what are the arguments I must pass to Analyitcs to insure the correct slot is filled?
You can send the events in any format that would fit your game. I think the necessary modifications might put the funnel templates out of reach, but creating a funnel manually for 20 levels per world would not be too time consuming.
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Analytics.Experimental;
public class GameManager : MonoBehaviour {
void StartLevel(int world, int level) {
Dictionary<string, object> levelData = new Dictionary<string, object>();
levelData.Add("world", world);
levelData.Add("level", level);
//Add any other level-specific data e.g. coins, player health, completion time, etc.
//Format: world_1_level_1_start, world_1_level_2_start
string eventName = string.Format("world_{0}_level_{1}_start", world, level);
AnalyticsEvent.Custom(eventName, levelData);
///Other level start stuff
}
void CompleteLevel(int world, int level) {
Dictionary<string, object> levelData = new Dictionary<string, object>();
levelData.Add("world", world);
levelData.Add("level", level);
//Add any other level-specific data e.g. coins, player health, completion time, etc.
//Format: world_1_level_1_complete, world_1_level_2_complete, etc.
string eventName = string.Format("world_{0}_level_{1}_complete", world, level);
AnalyticsEvent.Custom(eventName, levelData);
///Other level complete stuff
}
}
And then the funnel definition would look for the events you’ve defined:
@ap-unity Hi, So I am finally installing the Custom Events, as you have suggested. It will be 24 hours before any data takes hold. I am curious if I am setting it up correctly. I have followed your steps very closely, just double checking. If you have the time, please go over.
Yeah, that’s fine. If the parameters are blank, then the Funnel step will just be triggered by the Custom Event with that name.
You aren’t using the levelData in your Custom Event. You can either add it to the event as the second parameter, or you can just remove it entirely if you don’t need it:
using UnityEngine;
using UnityEngine.Analytics;
public class GameManager : MonoBehaviour {
void StartLevel(int world, int level) {
//Format: world_1_level_1_start, world_1_level_2_start
string eventName = string.Format("world_{0}_level_{1}_start", world, level);
Analytics.CustomEvent(eventName);
///Other level start stuff
}
void CompleteLevel(int world, int level) {
//Format: world_1_level_1_complete, world_1_level_2_complete, etc.
string eventName = string.Format("world_{0}_level_{1}_complete", world, level);
Analytics.CustomEvent(eventName);
///Other level complete stuff
}
}
Also, wanted to mention that we do have real time Validation of Funnels now. The Validator is now on the Funnel Builder page, so you can test out events and make sure they are triggered correctly. We’re still working on the documentation for this, but the process is basically:
Define the Funnel step with your Custom Event
Trigger the Custom Event in the Editor and watch the funnel Validator to see if it triggered the right step.
Is there any way I can find the average score of players on a given level ?
I send a level complete event which also contains the score player earned by player in that level.