private void SetupTransactionItems(StringBuilder script, AnalyticsTransaction transaction) { foreach (AnalyticsTransactionItem item in transaction.Items) { if (item.IsValid()) { script.Append(trackerName + "._addItem("); script.Append("\"" + item.OrderId + "\","); script.Append("\n"); script.Append("\"" + item.Sku + "\","); script.Append("\n"); script.Append("\"" + item.ProductName + "\","); script.Append("\n"); script.Append("\"" + item.Category + "\","); script.Append("\n"); script.Append("\"" + item.Price + "\","); script.Append("\n"); script.Append("\"" + item.Quantity + "\""); script.Append("\n"); script.Append(");"); script.Append("\n"); } } }
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 SetupTransactionItems(HtmlTextWriter writer, AnalyticsTransaction transaction) { foreach (AnalyticsTransactionItem item in transaction.Items) { if (item.IsValid()) { writer.Write("_gaq.push(['_addItem',"); writer.Write("'" + item.OrderId + "',"); writer.Write("'" + item.Sku + "',"); writer.Write("'" + item.ProductName + "',"); writer.Write("'" + item.Category + "',"); writer.Write("'" + item.Price + "',"); writer.Write("'" + item.Quantity + "'"); writer.Write("]);"); } } }
private void SetupUniversalTransactionItems(HtmlTextWriter writer, AnalyticsTransaction transaction) { foreach (AnalyticsTransactionItem item in transaction.Items) { if (item.IsValid()) { writer.Write("ga('ecommerce:addItem', {"); writer.Write("'id':'" + item.OrderId + "'"); writer.Write(",'name':'" + item.ProductName + "'"); writer.Write(",'sku':'" + item.Sku + "'"); writer.Write(",'category':'" + item.Category + "'"); writer.Write(",'price':'" + item.Price + "'"); writer.Write(",'quantity':'" + item.Quantity + "'"); writer.Write("});"); } } }
private void DoAsyncTracking() { AnalyticsAsyncTopScript analytics = Page.Master.FindControl("analyticsTop") as AnalyticsAsyncTopScript; if (analytics == null) { 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.ToInvariantString(); item.Sku = offer.OfferGuid.ToString(); transaction.Items.Add(item); } if (transaction.IsValid()) { analytics.Transactions.Add(transaction); Order.TrackAnalytics(order.OrderGuid); } }