private void DoGoogleAnalyticsTracking()
        {
            if (order == null)
            {
                return;
            }
            if (order.AnalyticsTracked)
            {
                return;
            }
            if (store == null)
            {
                return;
            }

            try
            {
                mojoGoogleAnalyticsScript analytics = Page.Master.FindControl("mojoGoogleAnalyticsScript1") as mojoGoogleAnalyticsScript;
                if (analytics == null)
                {
                    DoAsyncTracking(); return;
                }

                AnalyticsTransaction transaction = new AnalyticsTransaction();
                transaction.OrderId   = order.OrderGuid.ToString();
                transaction.City      = order.CustomerCity;
                transaction.Country   = order.CustomerCountry;
                transaction.State     = order.CustomerState;
                transaction.StoreName = siteSettings.SiteName + " - " + store.Name;
                transaction.Tax       = order.TaxTotal.ToString(CultureInfo.InvariantCulture);
                transaction.Total     = order.OrderTotal.ToString(CultureInfo.InvariantCulture);

                foreach (OrderOffer offer in order.OrderOffers)
                {
                    AnalyticsTransactionItem item = new AnalyticsTransactionItem();
                    item.Category    = string.Empty;
                    item.OrderId     = order.OrderGuid.ToString();
                    item.Price       = offer.OfferPrice.ToString(CultureInfo.InvariantCulture);
                    item.ProductName = offer.Name;
                    item.Quantity    = offer.Quantity.ToString(CultureInfo.InvariantCulture);
                    item.Sku         = offer.OfferGuid.ToString();
                    transaction.Items.Add(item);
                }

                if (transaction.IsValid())
                {
                    analytics.Transactions.Add(transaction);
                    Order.TrackAnalytics(order.OrderGuid);
                }
            }
            catch (Exception ex)
            {
                log.Error("error tracking order in google analytics.", ex);
            }
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            LoadSettings();
            GetGuidFromQueryString();
            if (this.registrationConfirmationGuid == Guid.Empty)
            {
                WebUtils.SetupRedirect(this, SiteRoot);
                return;
            }

            SiteUser siteUser = SiteUser.GetByConfirmationGuid(siteSettings, registrationConfirmationGuid);

            if (SiteUser.ConfirmRegistration(this.registrationConfirmationGuid))
            {
                this.lblMessage.Text = Resources.Resource.RegisterConfirmMessage;
                if (siteUser != null)
                {
                    NewsletterHelper.VerifyExistingSubscriptions(siteUser);
                    NewsletterHelper.ClaimExistingSubscriptions(siteUser);

                    if ((windowsLive != null) && (liveUser != null))
                    {
                        HandleWindowsLiveConfirmation(siteUser);
                    }
                }

                AnalyticsAsyncTopScript asyncAnalytics = Page.Master.FindControl("analyticsTop") as AnalyticsAsyncTopScript;
                if (asyncAnalytics != null)
                {
                    asyncAnalytics.PageToTrack = "/RegistrationConfirmed.aspx";
                }
                else
                {
                    mojoGoogleAnalyticsScript analytics = Page.Master.FindControl("mojoGoogleAnalyticsScript1") as mojoGoogleAnalyticsScript;
                    if (analytics != null)
                    {
                        analytics.PageToTrack = "/RegistrationConfirmed.aspx";
                    }
                }
            }
            else
            {
                WebUtils.SetupRedirect(this, SiteRoot);
                return;
            }
        }