public override void Process(RequestBeginArgs args)
        {
            RequestContext requestContext = args.PageContext.RequestContext;

            if (requestContext == null || !RouteMapper.IsLayoutServiceRoute(requestContext))
            {
                return;
            }

            var queryString = args.PageContext.RequestContext.HttpContext.Request.QueryString;
            var email       = queryString["email"];

            if (!string.IsNullOrWhiteSpace(email))
            {
                try
                {
                    Tracker.Current?.Session?.IdentifyAs(Context.Site.Domain.Name, email);
                }
                catch (Exception ex)
                {
                    Log.Error("Unable to set contact identifier", ex, this);
                }
            }
        }
        public override void Process(ApplyRedirectArgs args)
        {
            Assert.ArgumentNotNull(args, nameof(args));

            if (PageContext.Current != null && PageContext.Current.RequestContext != null && RouteMapper.IsLayoutServiceRoute(PageContext.Current.RequestContext))
            {
                args.Context.RedirectUri = null;
                args.AbortPipeline();
            }
        }