Better Google Analytics - Version 1.0.6

Version Description

  • Added stubs for Better Google Analytics eCommerce module
  • Bug: Fixed cosmetic issue on "Test Setup" page when you have linked a Google Analytics with multiple profiles that all share the same web property ID
  • Bug: Prevent converting emails to HTML if something else already converted it to HTML beforehand
  • Feature: Auto-Configure (if your Google Analytics account is linked, this option will be available on the "Test Setup" page) - will configure your Google Analytics property and profile via the Google Analytics API (can set industry vertical, site search parameters, Ecommerce tracking options, create custom dimensions and then map those as necessary)
  • Feature: Added option to create a new Web Property & Profile/View under your existing Google Analytics account automatically (useful if you are setting up a new site)
  • Feature: Added better_analytics_metrics WordPress filter to hook into Google Analytics metrics list
  • Feature: Added better_analytics_dimensions WordPress filter to hook into Google Analytics dimensions list
  • Feature: Added better_analytics_segments WordPress filter to hook into Google Analytics segments list
  • Enhancement: If user has already linked a Google account without Google Analytics access, discard the authentication tokens
  • Enhancement: If a user revokes OAuth2 access to their Google Analytics account, discard the authentication tokens
  • Enhancement: Check for Google Analytics account access when user links a new Google account
  • Enhancement: Check if Google Analytics Web Property/Profile would benefit from updating before blindly doing it when requested by site admin
  • Enhancement: Check Google Analytics API quota when using write functions when Auto-Configure function is making changes to Google Analytics account (write operation quota is more tightly controlled by Google)
  • Enhancement: Added 3 additional Google Analytics dimensions for reporting on dashboard widget
  • Usability: Added links to help new users with configuration (link to create new Google Analytics account, link to configure Google Analytics API, link to new Auto-Configuration area, etc.)
  • Security: When requesting Google Analytics API edit permissions (when Auto-Configuration is used), make that permissions request only for a one-time use token (don't store or have long-term tokens that allow write access)
Download this release

Release Info

Developer digitalpoint
Plugin Icon 128x128 Better Google Analytics
Version 1.0.6
Comparing to
See all releases

Code changes from version 1.0.5 to 1.0.6

assets/digitalpoint/css/admin.css CHANGED
@@ -1 +1 @@
1
- .ba_error{background-color:#333;width:40%;position:absolute;top:200px;left:30%;border:1px black solid;box-shadow:0 0 0 10px rgba(100,100,100,.7);border-radius:3px;color:white;padding:10px;opacity:.9;z-index:10}.ba_error .dismiss{float:right;margin-top:40px}#contextual-help-link-wrap{z-index:10}#better-analytics_sidebar_wrapper{position:absolute;right:20px;width:275px;margin-left:10px}#better-analytics_sidebar{position:relative;top:15px}#better-analytics_sidebar .pro{display:none}#better-analytics_sidebar>div{border-color:#ddd #bbb #bbb #ddd;padding:10px}#better-analytics_sidebar h4{margin-top:2em}#better-analytics_sidebar>.postbox>h4{margin-top:0}#better-analytics_sidebar .dashicons-twitter{vertical-align:middle;font-size:16px;height:18px}#better-analytics_settings form{margin-right:285px}@media only screen and (max-width:960px){#better-analytics_settings form{margin-right:215px}#better-analytics_sidebar_wrapper{width:205px}#better-analytics_sidebar .postbox{min-width:185px}}@media screen and (max-width:782px){#better-analytics_sidebar{display:none}#better-analytics_settings form{margin-right:0}}#ba_settings.form-table .dashicons-before{opacity:.6}#ba_settings.form-table th,#ba_test.form-table th{white-space:nowrap;text-align:right}#ba_monitor{padding-right:20px}#ba_monitor td{white-space:nowrap}#ba_monitor td:last-of-type{white-space:normal}@media screen and (max-width:782px){.form-table th{text-align:left!important}.responsiveHide{display:none}}.tooltipster-better_analytics{border-radius:5px;border:2px solid #000;background:#4c4c4c;color:#fff;opacity:.9}.tooltipster-better_analytics .tooltipster-content{font-family:Arial,sans-serif;font-size:12px;line-height:18px;padding:8px 10px;overflow:hidden}.tooltipster-better_analytics .tooltipster-content a{color:#7bf}.tooltipster-better_analytics .tooltipster-content a:hover{color:#9df}.group_api input[type="text"]{width:100%}#ba_test .good{color:green;font-size:24px;padding-right:10px}#ba_test .bad{color:red;font-size:24px;padding-right:10px}#ba_test .unknown{color:orange;font-size:24px}#ba_test th+td{vertical-align:top}#ba_test.form-table th,#ba_test.form-table td,#parameters.form-table th,#parameters.form-table td{padding-top:10px;padding-bottom:10px;line-height:1em}#ba_test.form-table th{padding-top:15px}.ba_monitor_form #parameters.form-table th{padding-top:18px}#ba_test .description{color:#777;font-size:12px;line-height:1.5em!important}#ba_test .description ul{list-style:disc;padding-left:30px}.table{display:table;width:95%}.table .row{display:table-row}.table .row.header{font-size:11px;color:#032a46;background:#6cb2e4 linear-gradient(rgba(255,255,255,0.35) 0,rgba(255,255,255,0.35) 50%,rgba(255,255,255,0) 100%)}.table .cell{text-align:center;display:table-cell;border-bottom:1px solid #a5cae4;border-right:1px solid #a5cae4;padding:5px 0;width:12.5%;transition:all 1s;opacity:0;background-color:#176093}.table .cell:first-of-type{border-left:1px solid #a5cae4}.table .row.header .cell{font-weight:bold;border-top:1px solid #6cb2e4;border-bottom:1px solid #65a5d1;border-right:0;border-left:0;background-color:transparent}#Heatmap .row:nth-of-type(2) .cell{border-top:1px solid #a5cae4}#Heatmap .row .cell:nth-of-type(2){border-left:1px solid #a5cae4}#Heatmap .row:first-of-type,#Heatmap .row:first-of-type .cell,#Heatmap .row .cell:first-of-type{border:0;font-weight:bold;background-color:transparent;opacity:1}#Heatmap .row .cell:first-of-type{text-align:right;padding-right:10px;white-space:nowrap}#parameters.form-table th{text-align:right;padding-top:15px}#ba_chart,#ba_realtime_charts{display:none}#ba_realtime_charts>div{display:inline-block;vertical-align:top;line-height:1em}#ba_rt_users{width:30%;text-align:center;padding-top:50px}#ba_rt_users .number{font-weight:bold;font-size:400%;transition:background-color 5s}#ba_rt_users .number.up{background-color:lightgreen;transition:background-color 0s}#ba_rt_users .number.down{background-color:#e77;transition:background-color 0s}#ba_rt_map{width:70%}#ba_rt_medium,#ba_rt_device{width:50%}#ba_realtime_charts #ba_rt_keywords,#ba_realtime_charts #ba_rt_referral_path,#ba_realtime_charts #ba_rt_page_path{display:block;width:100%;padding:15px 0}.google-visualization-table-td{word-wrap:break-word;word-break:break-all;overflow:hidden}#better-analytics_settings .pro{border:2px dashed orange;padding-right:5px}#better-analytics_settings .pro li{list-style:disc;margin-left:25px}#better-analytics_sidebar .postbox h4+div{line-height:1.4em}#ba_track_blocked{display:inline}#chart_loading{font-size:40px;width:40px;height:40px;color:lightgrey;position:absolute;-webkit-animation:rotation 1s infinite linear;animation:rotation 1s infinite linear;transition:opacity .5s;opacity:0}table.plugins #better-analytics p{white-space:normal}table.plugins #better-analytics p.green{color:green}table.plugins #better-analytics p.green a{color:darkgreen}table.plugins #better-analytics p.green a:hover{color:#009600}table.plugins #better-analytics p.orange{color:orange}table.plugins #better-analytics p.orange a{color:darkorange}table.plugins #better-analytics p.orange a:hover{color:lightcoral}
1
+ .ba_error{background-color:#333;width:40%;position:absolute;top:200px;left:30%;border:1px black solid;box-shadow:0 0 0 10px rgba(100,100,100,.7);border-radius:3px;color:white;padding:10px;opacity:.9;z-index:10}.ba_error .dismiss{float:right;margin-top:40px}#contextual-help-link-wrap{z-index:10}#better-analytics_sidebar_wrapper{position:absolute;right:20px;width:275px;margin-left:10px}#better-analytics_sidebar{position:relative;top:15px}#better-analytics_sidebar .pro{display:none}#better-analytics_sidebar>div{border-color:#ddd #bbb #bbb #ddd;padding:10px}#better-analytics_sidebar h4{margin-top:2em}#better-analytics_sidebar>.postbox>h4{margin-top:0}#better-analytics_sidebar .dashicons-twitter{vertical-align:middle;font-size:16px;height:18px}#better-analytics_settings form{margin-right:285px}@media only screen and (max-width:960px){#better-analytics_settings form{margin-right:215px}#better-analytics_sidebar_wrapper{width:205px}#better-analytics_sidebar .postbox{min-width:185px}}@media screen and (max-width:782px){#better-analytics_sidebar{display:none}#better-analytics_settings form{margin-right:0}}#ba_settings.form-table .dashicons-before{opacity:.6}#ba_settings.form-table th,#ba_test.form-table th{white-space:nowrap;text-align:right}#ba_monitor{padding-right:20px}#ba_monitor td{white-space:nowrap}#ba_monitor td:last-of-type{white-space:normal}@media screen and (max-width:782px){.form-table th{text-align:left!important}.responsiveHide{display:none}}.tooltipster-better_analytics{border-radius:5px;border:2px solid #000;background:#4c4c4c;color:#fff;opacity:.9}.tooltipster-better_analytics .tooltipster-content{font-family:Arial,sans-serif;font-size:12px;line-height:18px;padding:8px 10px;overflow:hidden}.tooltipster-better_analytics .tooltipster-content a{color:#7bf}.tooltipster-better_analytics .tooltipster-content a:hover{color:#9df}.group_api input[type="text"]{width:100%}#ba_test .can_auto_config{background-color:lightgoldenrodyellow}#ba_test .good{color:green;font-size:24px;padding-right:10px}#ba_test .bad{color:red;font-size:24px;padding-right:10px}#ba_test .unknown{color:orange;font-size:24px}#ba_test th+td{vertical-align:top}#ba_test.form-table th,#ba_test.form-table td,#parameters.form-table th,#parameters.form-table td{padding-top:10px;padding-bottom:10px;line-height:1em}#ba_test.form-table th{padding-top:15px}.ba_monitor_form #parameters.form-table th{padding-top:18px}#ba_test .description{color:#777;font-size:12px;line-height:1.5em!important}#ba_test .description ul{list-style:disc;padding-left:30px}.table{display:table;width:95%}.table .row{display:table-row}.table .row.header{font-size:11px;color:#032a46;background:#6cb2e4 linear-gradient(rgba(255,255,255,0.35) 0,rgba(255,255,255,0.35) 50%,rgba(255,255,255,0) 100%)}.table .cell{text-align:center;display:table-cell;border-bottom:1px solid #a5cae4;border-right:1px solid #a5cae4;padding:5px 0;width:12.5%;transition:all 1s;opacity:0;background-color:#176093}.table .cell:first-of-type{border-left:1px solid #a5cae4}.table .row.header .cell{font-weight:bold;border-top:1px solid #6cb2e4;border-bottom:1px solid #65a5d1;border-right:0;border-left:0;background-color:transparent}#Heatmap .row:nth-of-type(2) .cell{border-top:1px solid #a5cae4}#Heatmap .row .cell:nth-of-type(2){border-left:1px solid #a5cae4}#Heatmap .row:first-of-type,#Heatmap .row:first-of-type .cell,#Heatmap .row .cell:first-of-type{border:0;font-weight:bold;background-color:transparent;opacity:1}#Heatmap .row .cell:first-of-type{text-align:right;padding-right:10px;white-space:nowrap}#parameters.form-table th{text-align:right;padding-top:15px}#ba_chart,#ba_realtime_charts{display:none}#ba_realtime_charts>div{display:inline-block;vertical-align:top;line-height:1em}#ba_rt_users{width:30%;text-align:center;padding-top:50px}#ba_rt_users .number{font-weight:bold;font-size:400%;transition:background-color 5s}#ba_rt_users .number.up{background-color:lightgreen;transition:background-color 0s}#ba_rt_users .number.down{background-color:#e77;transition:background-color 0s}#ba_rt_map{width:70%}#ba_rt_medium,#ba_rt_device{width:50%}#ba_realtime_charts #ba_rt_keywords,#ba_realtime_charts #ba_rt_referral_path,#ba_realtime_charts #ba_rt_page_path{display:block;width:100%;padding:15px 0}.google-visualization-table-td{word-wrap:break-word;word-break:break-all;overflow:hidden}#better-analytics_settings .pro{border:2px dashed orange;padding-right:5px}#better-analytics_settings .pro li{list-style:disc;margin-left:25px}#better-analytics_sidebar .postbox h4+div{line-height:1.4em}#ba_track_blocked{display:inline}#chart_loading{font-size:40px;width:40px;height:40px;color:lightgrey;position:absolute;-webkit-animation:rotation 1s infinite linear;animation:rotation 1s infinite linear;transition:opacity .5s;opacity:0}table.plugins #better-analytics p{white-space:normal}table.plugins #better-analytics p.green{color:green}table.plugins #better-analytics p.green a{color:darkgreen}table.plugins #better-analytics p.green a:hover{color:#009600}table.plugins #better-analytics p.orange{color:orange}table.plugins #better-analytics p.orange a{color:darkorange}table.plugins #better-analytics p.orange a:hover{color:lightcoral}
better-analytics.php CHANGED
@@ -7,7 +7,7 @@
7
  Plugin Name: Better Analytics
8
  Plugin URI: https://marketplace.digitalpoint.com/better-analytics.3354/item
9
  Description: Adds Google Universal Analytics code to your WordPress site. Options to track most everything (social button interactions, advertising clicks, emails sent/opened, YouTube video engagement, custom dimension tracking of authors/categories, etc.) Integrates with API for reports/charts on dashboard, heat maps and real-time traffic tracking.
10
- Version: 1.0.5
11
  Author: Digital Point
12
  Author URI: https://www.digitalpoint.com/
13
  License: GPLv2
@@ -23,7 +23,7 @@ if (!function_exists('add_action'))
23
  exit;
24
  }
25
 
26
- define('BETTER_ANALYTICS_VERSION', '1.0.5');
27
  define('BETTER_ANALYTICS_MINIMUM_WP_VERSION', '3.8'); // Dashicons: https://codex.wordpress.org/Function_Reference/add_menu_page
28
  define('BETTER_ANALYTICS_PRODUCT_URL', 'https://marketplace.digitalpoint.com/better-analytics.3354/item');
29
  define('BETTER_ANALYTICS_PRO_PRODUCT_URL', 'https://marketplace.digitalpoint.com/better-analytics-pro.3355/item');
7
  Plugin Name: Better Analytics
8
  Plugin URI: https://marketplace.digitalpoint.com/better-analytics.3354/item
9
  Description: Adds Google Universal Analytics code to your WordPress site. Options to track most everything (social button interactions, advertising clicks, emails sent/opened, YouTube video engagement, custom dimension tracking of authors/categories, etc.) Integrates with API for reports/charts on dashboard, heat maps and real-time traffic tracking.
10
+ Version: 1.0.6
11
  Author: Digital Point
12
  Author URI: https://www.digitalpoint.com/
13
  License: GPLv2
23
  exit;
24
  }
25
 
26
+ define('BETTER_ANALYTICS_VERSION', '1.0.6');
27
  define('BETTER_ANALYTICS_MINIMUM_WP_VERSION', '3.8'); // Dashicons: https://codex.wordpress.org/Function_Reference/add_menu_page
28
  define('BETTER_ANALYTICS_PRODUCT_URL', 'https://marketplace.digitalpoint.com/better-analytics.3354/item');
29
  define('BETTER_ANALYTICS_PRO_PRODUCT_URL', 'https://marketplace.digitalpoint.com/better-analytics-pro.3355/item');
js/loader.php CHANGED
@@ -6,4 +6,8 @@
6
  {
7
  readfile('../../better-analytics-pro/js/ba.js');
8
  }
 
 
 
 
9
  echo 'BetterAnalytics._BA=new BetterAnalytics.BA();';
6
  {
7
  readfile('../../better-analytics-pro/js/ba.js');
8
  }
9
+ if (file_exists('../../better-analytics-ecommerce/js/ba.js'))
10
+ {
11
+ readfile('../../better-analytics-ecommerce/js/ba.js');
12
+ }
13
  echo 'BetterAnalytics._BA=new BetterAnalytics.BA();';
languages/better-analytics.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the Better Analytics package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Better Analytics 1.0.4\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/better-analytics\n"
7
- "POT-Creation-Date: 2015-06-26 20:54:23+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -12,39 +12,39 @@ msgstr ""
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:77
16
  msgid "Test Analytics Setup"
17
  msgstr ""
18
 
19
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:78
20
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:99
21
  msgid "OAuth2 Endpoint"
22
  msgstr ""
23
 
24
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:82
25
  msgid "Analytics"
26
  msgstr ""
27
 
28
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:83
29
  msgid "Heat Maps"
30
  msgstr ""
31
 
32
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:83
33
  msgid "Reports"
34
  msgstr ""
35
 
36
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:85
37
  #: library/DigitalPointBetterAnalytics/ViewAdmin/reports/area_charts.php:17
38
  #: library/DigitalPointBetterAnalytics/ViewAdmin/reports/events.php:14
39
  #: library/DigitalPointBetterAnalytics/ViewAdmin/reports/heatmaps.php:14
40
  msgid "Charts"
41
  msgstr ""
42
 
43
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:86
44
  msgid "Issue Monitor"
45
  msgstr ""
46
 
47
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:87
48
  #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:383
49
  #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:441
50
  #: library/DigitalPointBetterAnalytics/ViewAdmin/reports/area_charts.php:18
@@ -53,77 +53,93 @@ msgstr ""
53
  msgid "Events"
54
  msgstr ""
55
 
56
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:90
57
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:111
58
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:210
59
  msgid "Settings"
60
  msgstr ""
61
 
62
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:91
63
  msgid "Test Setup"
64
  msgstr ""
65
 
66
- #. #-#-#-#-# plugin.pot (Better Analytics 1.0.4) #-#-#-#-#
67
  #. Plugin Name of the plugin/theme
68
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:93
69
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:186
70
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:331
71
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:374
72
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:27
73
  msgid "Better Analytics"
74
  msgstr ""
75
 
76
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:122
77
  msgid "Pro version not up to date."
78
  msgstr ""
79
 
80
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:123
81
  msgid "Installed:"
82
  msgstr ""
83
 
84
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:125
85
  msgid "Latest:"
86
  msgstr ""
87
 
88
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:130
89
  msgid "Pro version installed"
90
  msgstr ""
91
 
92
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:134
93
  msgid ""
94
  "Pro version installed, but not active. Did you %1$sverify ownership of your "
95
  "domain%2$s?"
96
  msgstr ""
97
 
98
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:141
99
  msgid "Pro version not installed."
100
  msgstr ""
101
 
102
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:210
103
  msgid "Google Analytics Web Property ID not selected."
104
  msgstr ""
105
 
106
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:215
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  msgid "Last Analytics Error:"
108
  msgstr ""
109
 
110
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:250
111
  msgid "Invalid method:"
112
  msgstr ""
113
 
114
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:275
115
  msgid "Invalid Google API Code:"
116
  msgstr ""
117
 
118
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:281
119
  msgid "Unknown Google API Error:"
120
  msgstr ""
121
 
122
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:329
123
  msgid "Overview"
124
  msgstr ""
125
 
126
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:332
127
  msgid ""
128
  "At the most basic level, it will automatically add Google Analytics "
129
  "Universal code to your website. It gives you the flexibility to track "
@@ -131,90 +147,90 @@ msgid ""
131
  "engagement (and everything in between)."
132
  msgstr ""
133
 
134
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:339
135
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:353
136
  msgid "Pro"
137
  msgstr ""
138
 
139
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:341
140
  msgid "Pro Version"
141
  msgstr ""
142
 
143
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:342
144
  msgid ""
145
  "There is a Pro version of this plugin that gives you a few added features. "
146
  "More metrics/dimensions, more tracking options, etc."
147
  msgstr ""
148
 
149
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:350
150
  msgid "For more information:"
151
  msgstr ""
152
 
153
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:351
154
  msgid "Info"
155
  msgstr ""
156
 
157
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:352
158
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:392
159
  msgid "Support"
160
  msgstr ""
161
 
162
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:365
163
  msgid "colossal"
164
  msgstr ""
165
 
166
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:365
167
  msgid "elephantine"
168
  msgstr ""
169
 
170
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:365
171
  msgid "glorious"
172
  msgstr ""
173
 
174
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:365
175
  msgid "grand"
176
  msgstr ""
177
 
178
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:365
179
  msgid "huge"
180
  msgstr ""
181
 
182
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:365
183
  msgid "mighty"
184
  msgstr ""
185
 
186
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:365
187
  msgid "WTF?"
188
  msgstr ""
189
 
190
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:365
191
  msgid "sexy"
192
  msgstr ""
193
 
194
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:373
195
  msgid ""
196
  "If you like %1$s, please leave us a %2$s rating. A %3$s thank you in advance!"
197
  msgstr ""
198
 
199
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:392
200
  msgid "Visit Support Forum"
201
  msgstr ""
202
 
203
- #: library/DigitalPointBetterAnalytics/Base/Admin.php:397
204
  msgid "Verify Domain"
205
  msgstr ""
206
 
207
- #: library/DigitalPointBetterAnalytics/Base/Public.php:123
208
  msgid ""
209
  "%1$sBetter Analytics %4$s requires WordPress %5$s or higher.%2$s%3$sPlease "
210
  "%6$supgrade WordPress%7$s to a current version."
211
  msgstr ""
212
 
213
- #: library/DigitalPointBetterAnalytics/Base/Public.php:277
214
  msgid "Page Analytics"
215
  msgstr ""
216
 
217
- #: library/DigitalPointBetterAnalytics/Base/Public.php:440
218
  msgid "Every Minute"
219
  msgstr ""
220
 
@@ -231,8 +247,8 @@ msgid "Current Page"
231
  msgstr ""
232
 
233
  #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:39
234
- #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:531
235
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:180
236
  msgid "Medium"
237
  msgstr ""
238
 
@@ -340,55 +356,76 @@ msgstr ""
340
  msgid "User Role"
341
  msgstr ""
342
 
 
 
 
 
 
 
 
 
 
 
343
  #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:528
344
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:179
345
- msgid "Source"
346
  msgstr ""
347
 
348
  #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:529
 
 
 
 
 
349
  msgid "Referrer"
350
  msgstr ""
351
 
352
- #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:532
353
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:200
354
  msgid "Country"
355
  msgstr ""
356
 
357
- #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:549
358
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:44
359
  msgid "Page Views"
360
  msgstr ""
361
 
362
- #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:550
363
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:14
364
  msgid "Sessions"
365
  msgstr ""
366
 
367
- #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:551
368
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:9
369
  msgid "Users"
370
  msgstr ""
371
 
372
- #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:552
373
  msgid "Session Length"
374
  msgstr ""
375
 
376
- #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:553
377
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:20
378
  msgid "Organic Search"
379
  msgstr ""
380
 
381
- #: library/DigitalPointBetterAnalytics/Helper/Reporting.php:75
382
  msgid "No API tokens to refresh."
383
  msgstr ""
384
 
 
 
 
 
 
 
385
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:8
386
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:169
387
  msgid "User"
388
  msgstr ""
389
 
390
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:10
391
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:135
392
  msgid "New Users"
393
  msgstr ""
394
 
@@ -397,7 +434,7 @@ msgid "Sessions Per User"
397
  msgstr ""
398
 
399
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:13
400
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:174
401
  msgid "Session"
402
  msgstr ""
403
 
@@ -414,7 +451,7 @@ msgid "Hits"
414
  msgstr ""
415
 
416
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:19
417
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:177
418
  msgid "Traffic Sources"
419
  msgstr ""
420
 
@@ -423,18 +460,18 @@ msgid "AdWords"
423
  msgstr ""
424
 
425
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:23
426
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:95
427
  msgid "Impressions"
428
  msgstr ""
429
 
430
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:24
431
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:93
432
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:102
433
  msgid "Clicks"
434
  msgstr ""
435
 
436
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:25
437
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:94
438
  msgid "Cost"
439
  msgstr ""
440
 
@@ -443,18 +480,18 @@ msgid "CPM"
443
  msgstr ""
444
 
445
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:27
446
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:91
447
  msgid "CPC"
448
  msgstr ""
449
 
450
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:28
451
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:92
452
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:104
453
  msgid "CTR"
454
  msgstr ""
455
 
456
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:29
457
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:96
458
  msgid "RPC"
459
  msgstr ""
460
 
@@ -496,7 +533,7 @@ msgid "Social Activities"
496
  msgstr ""
497
 
498
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:43
499
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:211
500
  msgid "Page Tracking"
501
  msgstr ""
502
 
@@ -505,12 +542,12 @@ msgid "Page Views Per Session"
505
  msgstr ""
506
 
507
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:46
508
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:106
509
  msgid "Exits"
510
  msgstr ""
511
 
512
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:48
513
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:214
514
  msgid "Internal Search"
515
  msgstr ""
516
 
@@ -543,7 +580,7 @@ msgid "DOM Content Loaded Time"
543
  msgstr ""
544
 
545
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:58
546
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:218
547
  msgid "Event Tracking"
548
  msgstr ""
549
 
@@ -593,442 +630,430 @@ msgid "File Downloads"
593
  msgstr ""
594
 
595
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:70
596
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:675
597
  msgid "Images Not Loading"
598
  msgstr ""
599
 
600
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:71
601
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:670
602
  msgid "Page Not Found (404)"
603
  msgstr ""
604
 
605
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:72
606
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:711
607
  msgid "AJAX Requests"
608
  msgstr ""
609
 
610
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:73
611
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:682
612
  msgid "JavaScript Errors"
613
  msgstr ""
614
 
615
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:74
616
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:687
617
  msgid "AJAX Errors"
618
  msgstr ""
619
 
620
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:75
621
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:691
622
  msgid "Browser Console Errors"
623
  msgstr ""
624
 
625
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:76
626
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:695
627
  msgid "YouTube Errors"
628
  msgstr ""
629
 
630
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:78
631
  msgid "Advertisement Clicked"
632
  msgstr ""
633
 
634
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:81
635
  msgid "Ecommerce"
636
  msgstr ""
637
 
638
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:82
639
  msgid "Transactions"
640
  msgstr ""
641
 
642
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:83
643
  msgid "Transaction Revenue"
644
  msgstr ""
645
 
646
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:84
647
  msgid "Revenue Per Transaction"
648
  msgstr ""
649
 
 
650
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:86
651
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:87
652
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:222
653
  msgid "Social Interactions"
654
  msgstr ""
655
 
656
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:88
657
  msgid "Unique Social Interactions"
658
  msgstr ""
659
 
660
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:90
661
  msgid "DoubleClick Campaign Manager"
662
  msgstr ""
663
 
664
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:98
665
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:638
666
  msgid "AdSense"
667
  msgstr ""
668
 
669
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:99
670
  msgid "Revenue"
671
  msgstr ""
672
 
673
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:100
674
  msgid "Ad Units Views"
675
  msgstr ""
676
 
677
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:101
678
  msgid "Views"
679
  msgstr ""
680
 
681
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:103
682
  msgid "Page Impressions"
683
  msgstr ""
684
 
685
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:105
686
  msgid "ECPM"
687
  msgstr ""
688
 
689
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:107
690
  msgid "Viewable Impressions"
691
  msgstr ""
692
 
693
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:108
694
  msgid "Coverage"
695
  msgstr ""
696
 
697
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:132
698
  msgid "Default Segments"
699
  msgstr ""
700
 
701
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:133
702
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:960
703
  msgid "Everything"
704
  msgstr ""
705
 
706
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:134
707
  msgid "All Sessions"
708
  msgstr ""
709
 
710
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:136
711
  msgid "Returning Users"
712
  msgstr ""
713
 
714
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:137
715
  msgid "Paid Traffic"
716
  msgstr ""
717
 
718
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:138
719
  msgid "Organic Traffic"
720
  msgstr ""
721
 
722
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:139
723
  msgid "Search Traffic"
724
  msgstr ""
725
 
726
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:140
727
  msgid "Direct Traffic"
728
  msgstr ""
729
 
730
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:141
731
  msgid "Referral Traffic"
732
  msgstr ""
733
 
734
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:142
735
  msgid "Sessions with Conversions"
736
  msgstr ""
737
 
738
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:143
739
  msgid "Sessions with Transactions"
740
  msgstr ""
741
 
742
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:144
743
  msgid "Mobile and Tablet Traffic"
744
  msgstr ""
745
 
746
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:145
747
  msgid "Non-bounce Visits"
748
  msgstr ""
749
 
750
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:146
751
  msgid "Tablet Traffic"
752
  msgstr ""
753
 
754
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:147
755
  msgid "Mobile Traffic"
756
  msgstr ""
757
 
758
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:148
759
  msgid "Tablet and Desktop Traffic"
760
  msgstr ""
761
 
762
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:149
763
  msgid "Android Traffic"
764
  msgstr ""
765
 
766
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:150
767
  msgid "iOS Traffic"
768
  msgstr ""
769
 
770
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:151
771
  msgid "Other Traffic (Neither iOS nor Android)"
772
  msgstr ""
773
 
774
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:152
775
  msgid "Bounced Sessions"
776
  msgstr ""
777
 
778
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:153
779
  msgid "Single Session Users"
780
  msgstr ""
781
 
782
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:154
783
  msgid "Multi-session Users"
784
  msgstr ""
785
 
786
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:155
787
  msgid "Converters"
788
  msgstr ""
789
 
790
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:156
791
  msgid "Non-Converters"
792
  msgstr ""
793
 
794
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:157
795
  msgid "Made a Purchase"
796
  msgstr ""
797
 
798
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:158
799
  msgid "Performed Site Search"
800
  msgstr ""
801
 
802
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:159
803
  msgid "Male Users"
804
  msgstr ""
805
 
806
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:160
807
  msgid "Female Users"
808
  msgstr ""
809
 
810
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:170
811
  msgid "User Type"
812
  msgstr ""
813
 
814
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:171
815
  msgid "Session Count"
816
  msgstr ""
817
 
818
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:172
819
  msgid "Days Since Last Visit"
820
  msgstr ""
821
 
822
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:175
823
  msgid "Session Duration"
824
  msgstr ""
825
 
826
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:178
827
  msgid "Campaign"
828
  msgstr ""
829
 
830
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:181
831
  msgid "Keyword"
832
  msgstr ""
833
 
834
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:182
835
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:223
836
  msgid "Social Network"
837
  msgstr ""
838
 
839
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:183
840
  msgid "Search Keywords Provided"
841
  msgstr ""
842
 
843
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:184
844
  msgid "Organic Search Marketshare"
845
  msgstr ""
846
 
847
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:186
848
  msgid "Platform"
849
  msgstr ""
850
 
851
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:187
852
- msgid "Browser"
853
- msgstr ""
854
-
855
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:188
856
- msgid "Operating System"
857
- msgstr ""
858
-
859
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:189
860
  msgid "Operating System Version"
861
  msgstr ""
862
 
863
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:190
864
  msgid "Mobile Device Branding"
865
  msgstr ""
866
 
867
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:191
868
  msgid "Mobile Device Model"
869
  msgstr ""
870
 
871
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:192
872
  msgid "Mobile Input Selector"
873
  msgstr ""
874
 
875
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:193
876
  msgid "Mobile Device Info"
877
  msgstr ""
878
 
879
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:194
880
  msgid "Mobile Device Marketing Name"
881
  msgstr ""
882
 
883
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:195
884
- msgid "Device Category"
885
- msgstr ""
886
-
887
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:197
888
  msgid "Geo / Network"
889
  msgstr ""
890
 
891
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:198
892
  msgid "Continent"
893
  msgstr ""
894
 
895
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:199
896
  msgid "Sub-Continent"
897
  msgstr ""
898
 
899
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:201
900
  msgid "Region"
901
  msgstr ""
902
 
903
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:202
904
  msgid "City"
905
  msgstr ""
906
 
907
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:204
908
  msgid "System"
909
  msgstr ""
910
 
911
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:205
912
  msgid "Flash Version"
913
  msgstr ""
914
 
915
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:206
916
  msgid "Java Enabled"
917
  msgstr ""
918
 
919
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:207
920
  msgid "Language"
921
  msgstr ""
922
 
923
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:208
924
  msgid "Screen Colors"
925
  msgstr ""
926
 
927
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:209
928
  msgid "Screen Resolution"
929
  msgstr ""
930
 
931
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:212
932
  msgid "Hostname"
933
  msgstr ""
934
 
935
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:215
936
  msgid "Search Used"
937
  msgstr ""
938
 
939
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:216
940
  msgid "Search Keyword"
941
  msgstr ""
942
 
943
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:219
944
  msgid "Event Category"
945
  msgstr ""
946
 
947
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:220
948
  msgid "Event Action"
949
  msgstr ""
950
 
951
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:224
952
  msgid "Social Action"
953
  msgstr ""
954
 
955
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:225
956
  msgid "Social Network Action"
957
  msgstr ""
958
 
959
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:226
960
  msgid "Social Engagement Type"
961
  msgstr ""
962
 
963
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:228
964
  msgid "Custom Variables"
965
  msgstr ""
966
 
967
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:229
968
  msgid "Custom Dimension 1"
969
  msgstr ""
970
 
971
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:230
972
  msgid "Custom Dimension 2"
973
  msgstr ""
974
 
975
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:231
976
  msgid "Custom Dimension 3"
977
  msgstr ""
978
 
979
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:232
980
  msgid "Custom Dimension 4"
981
  msgstr ""
982
 
983
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:233
984
  msgid "Custom Dimension 5"
985
  msgstr ""
986
 
987
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:234
988
  msgid "Custom Variable Value 1"
989
  msgstr ""
990
 
991
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:235
992
  msgid "Custom Variable Value 2"
993
  msgstr ""
994
 
995
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:236
996
  msgid "Custom Variable Value 3"
997
  msgstr ""
998
 
999
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:237
1000
  msgid "Custom Variable Value 4"
1001
  msgstr ""
1002
 
1003
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:238
1004
  msgid "Custom Variable Value 5"
1005
  msgstr ""
1006
 
1007
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:240
1008
  msgid "Audience"
1009
  msgstr ""
1010
 
1011
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:241
1012
  msgid "Age Bracket"
1013
  msgstr ""
1014
 
1015
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:242
1016
  msgid "Gender"
1017
  msgstr ""
1018
 
1019
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:243
1020
  msgid "Interest Affinity"
1021
  msgstr ""
1022
 
1023
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:244
1024
  msgid "Interest In Market"
1025
  msgstr ""
1026
 
1027
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:245
1028
  msgid "Interest Other"
1029
  msgstr ""
1030
 
1031
- #: library/DigitalPointBetterAnalytics/Model/Reporting.php:257
1032
  msgid "(scope set to %s, should be HIT)"
1033
  msgstr ""
1034
 
@@ -1088,7 +1113,7 @@ msgid "Forum"
1088
  msgstr ""
1089
 
1090
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:63
1091
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:609
1092
  msgid "Twitter"
1093
  msgstr ""
1094
 
@@ -1141,12 +1166,12 @@ msgid "Google Analytics Web Property ID"
1141
  msgstr ""
1142
 
1143
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:178
1144
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:762
1145
  msgid "Pick profile"
1146
  msgstr ""
1147
 
1148
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:180
1149
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:764
1150
  msgid "please pick a profile"
1151
  msgstr ""
1152
 
@@ -1301,91 +1326,91 @@ msgid ""
1301
  "Google Analytics account."
1302
  msgstr ""
1303
 
1304
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:390
1305
  msgid "Categories: "
1306
  msgstr ""
1307
 
1308
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:397
1309
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:430
1310
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:464
1311
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:498
1312
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:532
1313
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:566
1314
  msgid "Pick dimension"
1315
  msgstr ""
1316
 
1317
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:399
1318
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:432
1319
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:466
1320
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:500
1321
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:534
1322
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:568
1323
  msgid "[none]"
1324
  msgstr ""
1325
 
1326
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:422
1327
  msgid "Author: "
1328
  msgstr ""
1329
 
1330
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:456
1331
  msgid "Tags: "
1332
  msgstr ""
1333
 
1334
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:490
1335
  msgid "Publication Year: "
1336
  msgstr ""
1337
 
1338
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:524
1339
  msgid "User Role: "
1340
  msgstr ""
1341
 
1342
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:558
1343
  msgid "Registered User: "
1344
  msgstr ""
1345
 
1346
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:598
1347
  msgid "Button Engagement To Track"
1348
  msgstr ""
1349
 
1350
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:604
1351
  msgid "Facebook Like"
1352
  msgstr ""
1353
 
1354
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:614
1355
  msgid "Google+ (Google Analytics always tracks)"
1356
  msgstr ""
1357
 
1358
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:619
1359
  msgid "Pinterest"
1360
  msgstr ""
1361
 
1362
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:624
1363
  msgid "LinkedIn"
1364
  msgstr ""
1365
 
1366
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:632
1367
  msgid "Advertisement Clicks To Track"
1368
  msgstr ""
1369
 
1370
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:643
1371
  msgid "Outbrain"
1372
  msgstr ""
1373
 
1374
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:648
1375
  msgid "Taboola"
1376
  msgstr ""
1377
 
1378
- #. #-#-#-#-# plugin.pot (Better Analytics 1.0.4) #-#-#-#-#
1379
  #. Author of the plugin/theme
1380
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:653
1381
  msgid "Digital Point"
1382
  msgstr ""
1383
 
1384
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:664
1385
  msgid "Site Issues To Track"
1386
  msgstr ""
1387
 
1388
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:676
1389
  msgid ""
1390
  "This relies on the ability of the user's browser to load images which will "
1391
  "vary between browsers and Internet connections. This event can be a useful "
@@ -1393,69 +1418,70 @@ msgid ""
1393
  "that the end user's browser did not load (for any reason)."
1394
  msgstr ""
1395
 
1396
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:696
1397
  msgid ""
1398
  "This allows you to quickly find old videos that the author has removed or "
1399
  "disabled embeding for."
1400
  msgstr ""
1401
 
1402
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:705
1403
  msgid "Debugging Events"
1404
  msgstr ""
1405
 
1406
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:724
1407
  msgid "WooCommerce"
1408
  msgstr ""
1409
 
1410
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:732
1411
  msgid "WooCommerce not enabled/active."
1412
  msgstr ""
1413
 
1414
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:735
1415
  msgid "More information about %s"
1416
  msgstr ""
1417
 
1418
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:737
1419
  msgid "View details"
1420
  msgstr ""
1421
 
1422
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:759
1423
  msgid "Profile Used For Reporting"
1424
  msgstr ""
1425
 
1426
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:794
1427
  msgid "Multisite Mode: Analytics account linked at network level"
1428
  msgstr ""
1429
 
1430
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:802
1431
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config_network.php:20
 
1432
  msgid "Link/Authenticate A Different Google Analytics Account"
1433
  msgstr ""
1434
 
1435
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:802
1436
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config_network.php:20
1437
  msgid "Link/Authenticate Your Google Analytics Account"
1438
  msgstr ""
1439
 
1440
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:821
1441
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config_network.php:39
1442
  msgid "Use Your Own Project Credentials"
1443
  msgstr ""
1444
 
1445
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:823
1446
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config_network.php:40
1447
  msgid ""
1448
  "If you have your own Google API Project that you wish to use, you can use "
1449
  "your credentials for that web application."
1450
  msgstr ""
1451
 
1452
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:834
1453
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config_network.php:50
1454
  msgid "Configuration"
1455
  msgstr ""
1456
 
1457
  #. translators: %1$s = <strong>, %2$s = </strong>
1458
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:836
1459
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config_network.php:52
1460
  msgid ""
1461
  "Project needs to have the %1$sAnalytics API%2$s enabled under %1$sAPIs & "
@@ -1463,7 +1489,7 @@ msgid ""
1463
  msgstr ""
1464
 
1465
  #. translators: %1$s = <strong>, %2$s = </strong>
1466
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:838
1467
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config_network.php:54
1468
  msgid ""
1469
  "Under %1$sAPIs & auth -> Credentials%2$s, you need to %1$sCreate new Client "
@@ -1471,105 +1497,105 @@ msgid ""
1471
  "%1$s%3$s%2$s"
1472
  msgstr ""
1473
 
1474
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:846
1475
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config_network.php:61
1476
  msgid "Client ID"
1477
  msgstr ""
1478
 
1479
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:856
1480
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config_network.php:68
1481
  msgid "Client Secret"
1482
  msgstr ""
1483
 
1484
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:867
1485
  msgid "Roles To Not Track"
1486
  msgstr ""
1487
 
1488
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:867
1489
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:903
1490
  msgid ""
1491
  "If a logged in user is part of one of these groups, Analytics will not track "
1492
  "them."
1493
  msgstr ""
1494
 
1495
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:870
1496
  msgid "Pick roles to not track"
1497
  msgstr ""
1498
 
1499
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:885
1500
  msgid "Roles Able To View Reports/Dashboard"
1501
  msgstr ""
1502
 
1503
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:888
1504
  msgid "Pick roles that are able to view reports"
1505
  msgstr ""
1506
 
1507
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:903
1508
  msgid "File Extensions To Track As Downloads"
1509
  msgstr ""
1510
 
1511
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:905
1512
  msgid "Pick file extensions"
1513
  msgstr ""
1514
 
1515
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:910
1516
  msgid "Audio Video Interleave (.avi)"
1517
  msgstr ""
1518
 
1519
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:911
1520
  msgid "Word (.doc)"
1521
  msgstr ""
1522
 
1523
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:912
1524
  msgid "Executable (.exe)"
1525
  msgstr ""
1526
 
1527
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:913
1528
  msgid "gzip (.gz)"
1529
  msgstr ""
1530
 
1531
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:914
1532
  msgid "MPEG-1 Video (.mpg)"
1533
  msgstr ""
1534
 
1535
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:915
1536
  msgid "MP3 (.mp3)"
1537
  msgstr ""
1538
 
1539
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:916
1540
  msgid "Acrobat (.pdf)"
1541
  msgstr ""
1542
 
1543
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:917
1544
  msgid "PowerPoint (.ppt)"
1545
  msgstr ""
1546
 
1547
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:918
1548
  msgid "Photoshop (.psd)"
1549
  msgstr ""
1550
 
1551
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:919
1552
  msgid "RAR (.rar)"
1553
  msgstr ""
1554
 
1555
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:920
1556
  msgid "Windows Media Video (.wmv)"
1557
  msgstr ""
1558
 
1559
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:921
1560
  msgid "Excel (.xls)"
1561
  msgstr ""
1562
 
1563
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:922
1564
  msgid "Zip Archive (.zip)"
1565
  msgstr ""
1566
 
1567
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:936
1568
  msgid "Track Users With Analytics Blockers"
1569
  msgstr ""
1570
 
1571
  #. translators: %1$s = <strong>, %2$s = </strong>, %3$s = <p />
1572
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:939
1573
  msgid ""
1574
  "If a user has a mechanism that is blocking them from being tracked with "
1575
  "Google Analytics, you can use this option to do server-side page view "
@@ -1580,92 +1606,92 @@ msgid ""
1580
  "tracked (ones not popular enough to be widely known as a spider)."
1581
  msgstr ""
1582
 
1583
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:945
1584
  msgid "Never"
1585
  msgstr ""
1586
 
1587
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:950
1588
  msgid "Registered Users"
1589
  msgstr ""
1590
 
1591
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:955
1592
  msgid "Humans"
1593
  msgstr ""
1594
 
1595
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:968
1596
  msgid "Location For Analytics Code"
1597
  msgstr ""
1598
 
1599
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:973
1600
  msgid "Header"
1601
  msgstr ""
1602
 
1603
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:978
1604
  msgid "Footer"
1605
  msgstr ""
1606
 
1607
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:983
1608
  msgid "No JavaScript (you have your own/other already)"
1609
  msgstr ""
1610
 
1611
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:989
1612
  msgid "Use In Staff Area (wp-admin)"
1613
  msgstr ""
1614
 
1615
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:995
1616
  msgid "When To Run Analytics Code"
1617
  msgstr ""
1618
 
1619
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1000
1620
  msgid "Immediately"
1621
  msgstr ""
1622
 
1623
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1005
1624
  msgid "After Page Loads"
1625
  msgstr ""
1626
 
1627
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1012
1628
  msgid "Campaign Tracking Within URLs"
1629
  msgstr ""
1630
 
1631
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1017
1632
  msgid "In Anchor"
1633
  msgstr ""
1634
 
1635
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1022
1636
  msgid "In Parameters"
1637
  msgstr ""
1638
 
1639
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1029
1640
  msgid "Sample Rate"
1641
  msgstr ""
1642
 
1643
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1029
1644
  msgid ""
1645
  "Specifies what percentage of users should be tracked. Very large sites may "
1646
  "need to use a lower sample rate to stay within Google Analytics processing "
1647
  "limits."
1648
  msgstr ""
1649
 
1650
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1050
1651
  msgid "Extra JavaScript"
1652
  msgstr ""
1653
 
1654
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1050
1655
  msgid ""
1656
  "This allows you to add your own JavaScript code to the Analytics tracking "
1657
  "code. This JavaScript is inserted right before the %1$s function."
1658
  msgstr ""
1659
 
1660
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1057
1661
  msgid "Debugging"
1662
  msgstr ""
1663
 
1664
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1062
1665
  msgid "Enable Google Analytics Debugging"
1666
  msgstr ""
1667
 
1668
- #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1063
1669
  msgid "This will display Google Analytics debug data in the browser console."
1670
  msgstr ""
1671
 
@@ -1859,250 +1885,301 @@ msgstr ""
1859
  msgid "Days Ago"
1860
  msgstr ""
1861
 
1862
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:43
1863
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:67
 
 
 
 
 
1864
  msgid "Auto-Configure"
1865
  msgstr ""
1866
 
1867
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:45
1868
  msgid ""
1869
- "Please select the industry vertical that you wish your site to be assigned "
1870
- "to."
1871
  msgstr ""
1872
 
1873
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:50
1874
- msgid "Pick industry vertical"
 
 
 
 
 
 
1875
  msgstr ""
1876
 
1877
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:58
1878
  msgid ""
1879
- "Only use this option if you are sure you want to auto-configure everything. "
1880
- "This will perform the following actions:"
 
 
 
 
 
 
 
 
 
 
 
 
1881
  msgstr ""
1882
 
1883
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:60
1884
  msgid "Set Site Search Query Parameter to %s on Analytics account"
1885
  msgstr ""
1886
 
1887
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:61
1888
  msgid "Enable Ecommerce options on Analytics account"
1889
  msgstr ""
1890
 
1891
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:62
1892
  msgid "Set Industry Vertical on Analytics account"
1893
  msgstr ""
1894
 
1895
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:63
 
 
 
 
 
 
 
 
 
 
1896
  msgid ""
1897
- "Create 6 custom dimensions for this Analytics property if they do not "
1898
- "already exist (%s)"
 
1899
  msgstr ""
1900
 
1901
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:64
1902
- msgid "Map the 6 custom dimensions in your Better Analytics settings"
1903
  msgstr ""
1904
 
1905
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:95
 
 
 
 
 
 
1906
  msgid "Test Analytics Integration"
1907
  msgstr ""
1908
 
1909
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:98
1910
  msgid ""
1911
  "This is a checklist of things for full integration with Google Analytics. "
1912
  "You can click on any of the titles to be taken where you need to go to "
1913
  "configure that item."
1914
  msgstr ""
1915
 
1916
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:100
1917
  msgid "Things That Can Be Automatically Checked"
1918
  msgstr ""
1919
 
1920
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:103
1921
  msgid "Web Property ID Defined"
1922
  msgstr ""
1923
 
1924
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:112
1925
  msgid "cURL Installed"
1926
  msgstr ""
1927
 
1928
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:118
1929
  msgid ""
1930
  "Not required, but recommended to have the cURL extensions enabled in PHP."
1931
  msgstr ""
1932
 
1933
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:138
1934
  msgid "Google Analytics Account Linked"
1935
  msgstr ""
1936
 
1937
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:145
 
 
 
 
 
 
1938
  msgid "Analytics Profile Selected"
1939
  msgstr ""
1940
 
1941
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:153
 
 
 
 
 
 
1942
  msgid "Site Search Setup"
1943
  msgstr ""
1944
 
1945
  #. translators: %1$s = <strong>, %2$s = </strong>
1946
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:160
1947
  msgid ""
1948
  "Found in Google Analytics account under %1$sView Settings -> Query Parameter"
1949
  "%2$s (should be set to \"%1$ss%2$s\")."
1950
  msgstr ""
1951
 
1952
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:166
1953
  msgid "Ecommerce Tracking Enabled"
1954
  msgstr ""
1955
 
1956
  #. translators: %1$s = <strong>, %2$s = </strong>
1957
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:174
1958
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:187
1959
  msgid "Found in Google Analytics account under %1$sEcommerce Settings%2$s."
1960
  msgstr ""
1961
 
1962
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:180
1963
  msgid "Enhanced Ecommerce Tracking Enabled"
1964
  msgstr ""
1965
 
1966
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:193
1967
  msgid "Industry Vertical Set"
1968
  msgstr ""
1969
 
1970
  #. translators: %1$s = <strong>, %2$s = </strong>, %3$s = current setting in
1971
  #. Google Analytics account
1972
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:200
1973
  msgid ""
1974
  "Found in Google Analytics account under %1$sProperty Settings%2$s (currently "
1975
  "set to %1$s%3$s%2$s)."
1976
  msgstr ""
1977
 
1978
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:206
1979
  msgid "Custom Dimension For Category Tracking"
1980
  msgstr ""
1981
 
1982
  #. translators: %1$s = <strong>, %2$s = </strong> ... %3$s can't be translated
1983
  #. - leave
1984
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:213
1985
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:228
1986
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:241
1987
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:255
1988
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:269
1989
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:285
1990
  msgid ""
1991
  "Found in Google Analytics account under %1$sCustom Definitions -> Custom "
1992
  "Dimensions%2$s (should be named \"%1$s%3$s%2$s\" and scoped for \"%1$sHit%2$s"
1993
  "\")."
1994
  msgstr ""
1995
 
1996
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:219
1997
  msgid "Custom Dimension For Author Tracking"
1998
  msgstr ""
1999
 
2000
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:234
2001
  msgid "Custom Dimension For Tag Tracking"
2002
  msgstr ""
2003
 
2004
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:247
2005
  msgid "Custom Dimension For Publication Year Tracking"
2006
  msgstr ""
2007
 
2008
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:261
2009
  msgid "Custom Dimension For User Role Tracking"
2010
  msgstr ""
2011
 
2012
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:277
2013
  msgid "Custom Dimension For User Tracking"
2014
  msgstr ""
2015
 
2016
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:292
2017
  msgid "Category Tracking Dimension Index Set"
2018
  msgstr ""
2019
 
2020
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:301
2021
  msgid "Author Tracking Dimension Index Set"
2022
  msgstr ""
2023
 
2024
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:309
2025
  msgid "Tag Tracking Dimension Index Set"
2026
  msgstr ""
2027
 
2028
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:317
2029
  msgid "Publication Year Tracking Dimension Index Set"
2030
  msgstr ""
2031
 
2032
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:325
2033
  msgid "User Role Tracking Dimension Index Set"
2034
  msgstr ""
2035
 
2036
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:334
2037
  msgid "Registered User Tracking Dimension Index Set"
2038
  msgstr ""
2039
 
2040
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:342
2041
  msgid "Better Analytics Pro License"
2042
  msgstr ""
2043
 
2044
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:347
2045
  msgid ""
2046
  "A few extra advanced features are available when you license the Better "
2047
  "Analytics Pro plugin. Please don't steal, a crazy amount of work went into "
2048
  "this. Some of the extra features:"
2049
  msgstr ""
2050
 
2051
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:351
2052
  msgid "More metrics available for %1$sHeat Maps%2$s"
2053
  msgstr ""
2054
 
2055
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:356
2056
  msgid "More dimensions available for %1$sCharts%2$s"
2057
  msgstr ""
2058
 
2059
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:361
2060
  msgid "More %1$sadvertising platform click tracking%2$s"
2061
  msgstr ""
2062
 
2063
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:366
2064
  msgid "More %1$sissue monitoring options%2$s"
2065
  msgstr ""
2066
 
2067
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:371
2068
  msgid "%1$seCommerce tracking%2$s"
2069
  msgstr ""
2070
 
2071
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:376
2072
  msgid "Ability to do %1$sserver-side tracking of users%2$s"
2073
  msgstr ""
2074
 
2075
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:381
2076
  msgid "Faster API calls (utilizes a multi-threaded mechanism)"
2077
  msgstr ""
2078
 
2079
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:386
2080
  msgid "%1$sPriority support%2$s"
2081
  msgstr ""
2082
 
2083
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:391
2084
  msgid ""
2085
  "A Warm & Fuzzy Feeling knowing you are helping to continue future development"
2086
  msgstr ""
2087
 
2088
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:404
2089
  msgid "Things That Need To Be Checked Manually"
2090
  msgstr ""
2091
 
2092
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:407
2093
  msgid "User-ID Tracking"
2094
  msgstr ""
2095
 
2096
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:410
2097
  msgid ""
2098
  "Found in Google Analytics account under %1$sTracking Info -> User-ID%2$s."
2099
  msgstr ""
2100
 
2101
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:415
2102
  msgid "Demographic and Interest Reports"
2103
  msgstr ""
2104
 
2105
- #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:418
2106
  msgid "Found in Google Analytics account under %1$sProperty Settings%1$s."
2107
  msgstr ""
2108
 
2
  # This file is distributed under the same license as the Better Analytics package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Better Analytics 1.0.5\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/better-analytics\n"
7
+ "POT-Creation-Date: 2015-07-06 18:42:28+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:87
16
  msgid "Test Analytics Setup"
17
  msgstr ""
18
 
19
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:88
20
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:109
21
  msgid "OAuth2 Endpoint"
22
  msgstr ""
23
 
24
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:92
25
  msgid "Analytics"
26
  msgstr ""
27
 
28
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:93
29
  msgid "Heat Maps"
30
  msgstr ""
31
 
32
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:93
33
  msgid "Reports"
34
  msgstr ""
35
 
36
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:95
37
  #: library/DigitalPointBetterAnalytics/ViewAdmin/reports/area_charts.php:17
38
  #: library/DigitalPointBetterAnalytics/ViewAdmin/reports/events.php:14
39
  #: library/DigitalPointBetterAnalytics/ViewAdmin/reports/heatmaps.php:14
40
  msgid "Charts"
41
  msgstr ""
42
 
43
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:96
44
  msgid "Issue Monitor"
45
  msgstr ""
46
 
47
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:97
48
  #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:383
49
  #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:441
50
  #: library/DigitalPointBetterAnalytics/ViewAdmin/reports/area_charts.php:18
53
  msgid "Events"
54
  msgstr ""
55
 
56
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:100
57
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:121
58
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:221
59
  msgid "Settings"
60
  msgstr ""
61
 
62
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:101
63
  msgid "Test Setup"
64
  msgstr ""
65
 
66
+ #. #-#-#-#-# plugin.pot (Better Analytics 1.0.5) #-#-#-#-#
67
  #. Plugin Name of the plugin/theme
68
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:103
69
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:196
70
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:362
71
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:405
72
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:27
73
  msgid "Better Analytics"
74
  msgstr ""
75
 
76
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:132
77
  msgid "Pro version not up to date."
78
  msgstr ""
79
 
80
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:133
81
  msgid "Installed:"
82
  msgstr ""
83
 
84
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:135
85
  msgid "Latest:"
86
  msgstr ""
87
 
88
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:140
89
  msgid "Pro version installed"
90
  msgstr ""
91
 
92
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:144
93
  msgid ""
94
  "Pro version installed, but not active. Did you %1$sverify ownership of your "
95
  "domain%2$s?"
96
  msgstr ""
97
 
98
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:151
99
  msgid "Pro version not installed."
100
  msgstr ""
101
 
102
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:221
103
  msgid "Google Analytics Web Property ID not selected."
104
  msgstr ""
105
 
106
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:228
107
+ msgid "Google Analytics account not linked for API functions."
108
+ msgstr ""
109
+
110
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:228
111
+ msgid "API Settings"
112
+ msgstr ""
113
+
114
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:235
115
+ msgid "Google Analytics account not yet configured."
116
+ msgstr ""
117
+
118
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:235
119
+ msgid "Test Setup / Auto-Configure"
120
+ msgstr ""
121
+
122
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:241
123
  msgid "Last Analytics Error:"
124
  msgstr ""
125
 
126
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:276
127
  msgid "Invalid method:"
128
  msgstr ""
129
 
130
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:301
131
  msgid "Invalid Google API Code:"
132
  msgstr ""
133
 
134
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:307
135
  msgid "Unknown Google API Error:"
136
  msgstr ""
137
 
138
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:360
139
  msgid "Overview"
140
  msgstr ""
141
 
142
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:363
143
  msgid ""
144
  "At the most basic level, it will automatically add Google Analytics "
145
  "Universal code to your website. It gives you the flexibility to track "
147
  "engagement (and everything in between)."
148
  msgstr ""
149
 
150
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:370
151
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:384
152
  msgid "Pro"
153
  msgstr ""
154
 
155
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:372
156
  msgid "Pro Version"
157
  msgstr ""
158
 
159
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:373
160
  msgid ""
161
  "There is a Pro version of this plugin that gives you a few added features. "
162
  "More metrics/dimensions, more tracking options, etc."
163
  msgstr ""
164
 
165
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:381
166
  msgid "For more information:"
167
  msgstr ""
168
 
169
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:382
170
  msgid "Info"
171
  msgstr ""
172
 
173
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:383
174
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:424
175
  msgid "Support"
176
  msgstr ""
177
 
178
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:396
179
  msgid "colossal"
180
  msgstr ""
181
 
182
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:396
183
  msgid "elephantine"
184
  msgstr ""
185
 
186
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:396
187
  msgid "glorious"
188
  msgstr ""
189
 
190
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:396
191
  msgid "grand"
192
  msgstr ""
193
 
194
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:396
195
  msgid "huge"
196
  msgstr ""
197
 
198
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:396
199
  msgid "mighty"
200
  msgstr ""
201
 
202
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:396
203
  msgid "WTF?"
204
  msgstr ""
205
 
206
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:396
207
  msgid "sexy"
208
  msgstr ""
209
 
210
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:404
211
  msgid ""
212
  "If you like %1$s, please leave us a %2$s rating. A %3$s thank you in advance!"
213
  msgstr ""
214
 
215
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:424
216
  msgid "Visit Support Forum"
217
  msgstr ""
218
 
219
+ #: library/DigitalPointBetterAnalytics/Base/Admin.php:429
220
  msgid "Verify Domain"
221
  msgstr ""
222
 
223
+ #: library/DigitalPointBetterAnalytics/Base/Public.php:130
224
  msgid ""
225
  "%1$sBetter Analytics %4$s requires WordPress %5$s or higher.%2$s%3$sPlease "
226
  "%6$supgrade WordPress%7$s to a current version."
227
  msgstr ""
228
 
229
+ #: library/DigitalPointBetterAnalytics/Base/Public.php:284
230
  msgid "Page Analytics"
231
  msgstr ""
232
 
233
+ #: library/DigitalPointBetterAnalytics/Base/Public.php:471
234
  msgid "Every Minute"
235
  msgstr ""
236
 
247
  msgstr ""
248
 
249
  #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:39
250
+ #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:532
251
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:184
252
  msgid "Medium"
253
  msgstr ""
254
 
356
  msgid "User Role"
357
  msgstr ""
358
 
359
+ #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:526
360
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:191
361
+ msgid "Browser"
362
+ msgstr ""
363
+
364
+ #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:527
365
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:192
366
+ msgid "Operating System"
367
+ msgstr ""
368
+
369
  #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:528
370
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:199
371
+ msgid "Device Category"
372
  msgstr ""
373
 
374
  #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:529
375
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:183
376
+ msgid "Source"
377
+ msgstr ""
378
+
379
+ #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:530
380
  msgid "Referrer"
381
  msgstr ""
382
 
383
+ #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:533
384
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:204
385
  msgid "Country"
386
  msgstr ""
387
 
388
+ #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:550
389
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:44
390
  msgid "Page Views"
391
  msgstr ""
392
 
393
+ #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:551
394
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:14
395
  msgid "Sessions"
396
  msgstr ""
397
 
398
+ #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:552
399
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:9
400
  msgid "Users"
401
  msgstr ""
402
 
403
+ #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:553
404
  msgid "Session Length"
405
  msgstr ""
406
 
407
+ #: library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php:554
408
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:20
409
  msgid "Organic Search"
410
  msgstr ""
411
 
412
+ #: library/DigitalPointBetterAnalytics/Helper/Reporting.php:78
413
  msgid "No API tokens to refresh."
414
  msgstr ""
415
 
416
+ #: library/DigitalPointBetterAnalytics/Helper/Reporting.php:91
417
+ msgid ""
418
+ "If you don't have a Google Analytics account, you can %1$screate one here"
419
+ "%2$s. \"Create an account\" is on the upper right of that page."
420
+ msgstr ""
421
+
422
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:8
423
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:173
424
  msgid "User"
425
  msgstr ""
426
 
427
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:10
428
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:136
429
  msgid "New Users"
430
  msgstr ""
431
 
434
  msgstr ""
435
 
436
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:13
437
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:178
438
  msgid "Session"
439
  msgstr ""
440
 
451
  msgstr ""
452
 
453
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:19
454
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:181
455
  msgid "Traffic Sources"
456
  msgstr ""
457
 
460
  msgstr ""
461
 
462
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:23
463
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:94
464
  msgid "Impressions"
465
  msgstr ""
466
 
467
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:24
468
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:92
469
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:101
470
  msgid "Clicks"
471
  msgstr ""
472
 
473
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:25
474
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:93
475
  msgid "Cost"
476
  msgstr ""
477
 
480
  msgstr ""
481
 
482
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:27
483
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:90
484
  msgid "CPC"
485
  msgstr ""
486
 
487
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:28
488
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:91
489
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:103
490
  msgid "CTR"
491
  msgstr ""
492
 
493
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:29
494
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:95
495
  msgid "RPC"
496
  msgstr ""
497
 
533
  msgstr ""
534
 
535
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:43
536
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:215
537
  msgid "Page Tracking"
538
  msgstr ""
539
 
542
  msgstr ""
543
 
544
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:46
545
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:105
546
  msgid "Exits"
547
  msgstr ""
548
 
549
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:48
550
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:218
551
  msgid "Internal Search"
552
  msgstr ""
553
 
580
  msgstr ""
581
 
582
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:58
583
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:222
584
  msgid "Event Tracking"
585
  msgstr ""
586
 
630
  msgstr ""
631
 
632
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:70
633
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:674
634
  msgid "Images Not Loading"
635
  msgstr ""
636
 
637
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:71
638
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:669
639
  msgid "Page Not Found (404)"
640
  msgstr ""
641
 
642
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:72
643
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:710
644
  msgid "AJAX Requests"
645
  msgstr ""
646
 
647
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:73
648
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:681
649
  msgid "JavaScript Errors"
650
  msgstr ""
651
 
652
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:74
653
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:686
654
  msgid "AJAX Errors"
655
  msgstr ""
656
 
657
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:75
658
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:690
659
  msgid "Browser Console Errors"
660
  msgstr ""
661
 
662
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:76
663
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:694
664
  msgid "YouTube Errors"
665
  msgstr ""
666
 
667
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:77
668
  msgid "Advertisement Clicked"
669
  msgstr ""
670
 
671
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:80
672
  msgid "Ecommerce"
673
  msgstr ""
674
 
675
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:81
676
  msgid "Transactions"
677
  msgstr ""
678
 
679
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:82
680
  msgid "Transaction Revenue"
681
  msgstr ""
682
 
683
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:83
684
  msgid "Revenue Per Transaction"
685
  msgstr ""
686
 
687
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:85
688
  #: library/DigitalPointBetterAnalytics/Model/Reporting.php:86
689
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:226
 
690
  msgid "Social Interactions"
691
  msgstr ""
692
 
693
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:87
694
  msgid "Unique Social Interactions"
695
  msgstr ""
696
 
697
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:89
698
  msgid "DoubleClick Campaign Manager"
699
  msgstr ""
700
 
701
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:97
702
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:637
703
  msgid "AdSense"
704
  msgstr ""
705
 
706
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:98
707
  msgid "Revenue"
708
  msgstr ""
709
 
710
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:99
711
  msgid "Ad Units Views"
712
  msgstr ""
713
 
714
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:100
715
  msgid "Views"
716
  msgstr ""
717
 
718
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:102
719
  msgid "Page Impressions"
720
  msgstr ""
721
 
722
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:104
723
  msgid "ECPM"
724
  msgstr ""
725
 
726
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:106
727
  msgid "Viewable Impressions"
728
  msgstr ""
729
 
730
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:107
731
  msgid "Coverage"
732
  msgstr ""
733
 
734
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:133
735
  msgid "Default Segments"
736
  msgstr ""
737
 
738
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:134
739
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:965
740
  msgid "Everything"
741
  msgstr ""
742
 
743
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:135
744
  msgid "All Sessions"
745
  msgstr ""
746
 
747
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:137
748
  msgid "Returning Users"
749
  msgstr ""
750
 
751
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:138
752
  msgid "Paid Traffic"
753
  msgstr ""
754
 
755
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:139
756
  msgid "Organic Traffic"
757
  msgstr ""
758
 
759
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:140
760
  msgid "Search Traffic"
761
  msgstr ""
762
 
763
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:141
764
  msgid "Direct Traffic"
765
  msgstr ""
766
 
767
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:142
768
  msgid "Referral Traffic"
769
  msgstr ""
770
 
771
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:143
772
  msgid "Sessions with Conversions"
773
  msgstr ""
774
 
775
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:144
776
  msgid "Sessions with Transactions"
777
  msgstr ""
778
 
779
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:145
780
  msgid "Mobile and Tablet Traffic"
781
  msgstr ""
782
 
783
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:146
784
  msgid "Non-bounce Visits"
785
  msgstr ""
786
 
787
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:147
788
  msgid "Tablet Traffic"
789
  msgstr ""
790
 
791
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:148
792
  msgid "Mobile Traffic"
793
  msgstr ""
794
 
795
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:149
796
  msgid "Tablet and Desktop Traffic"
797
  msgstr ""
798
 
799
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:150
800
  msgid "Android Traffic"
801
  msgstr ""
802
 
803
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:151
804
  msgid "iOS Traffic"
805
  msgstr ""
806
 
807
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:152
808
  msgid "Other Traffic (Neither iOS nor Android)"
809
  msgstr ""
810
 
811
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:153
812
  msgid "Bounced Sessions"
813
  msgstr ""
814
 
815
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:154
816
  msgid "Single Session Users"
817
  msgstr ""
818
 
819
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:155
820
  msgid "Multi-session Users"
821
  msgstr ""
822
 
823
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:156
824
  msgid "Converters"
825
  msgstr ""
826
 
827
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:157
828
  msgid "Non-Converters"
829
  msgstr ""
830
 
831
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:158
832
  msgid "Made a Purchase"
833
  msgstr ""
834
 
835
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:159
836
  msgid "Performed Site Search"
837
  msgstr ""
838
 
839
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:160
840
  msgid "Male Users"
841
  msgstr ""
842
 
843
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:161
844
  msgid "Female Users"
845
  msgstr ""
846
 
847
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:174
848
  msgid "User Type"
849
  msgstr ""
850
 
851
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:175
852
  msgid "Session Count"
853
  msgstr ""
854
 
855
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:176
856
  msgid "Days Since Last Visit"
857
  msgstr ""
858
 
859
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:179
860
  msgid "Session Duration"
861
  msgstr ""
862
 
863
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:182
864
  msgid "Campaign"
865
  msgstr ""
866
 
867
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:185
868
  msgid "Keyword"
869
  msgstr ""
870
 
871
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:186
872
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:227
873
  msgid "Social Network"
874
  msgstr ""
875
 
876
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:187
877
  msgid "Search Keywords Provided"
878
  msgstr ""
879
 
880
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:188
881
  msgid "Organic Search Marketshare"
882
  msgstr ""
883
 
884
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:190
885
  msgid "Platform"
886
  msgstr ""
887
 
888
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:193
 
 
 
 
 
 
 
 
889
  msgid "Operating System Version"
890
  msgstr ""
891
 
892
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:194
893
  msgid "Mobile Device Branding"
894
  msgstr ""
895
 
896
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:195
897
  msgid "Mobile Device Model"
898
  msgstr ""
899
 
900
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:196
901
  msgid "Mobile Input Selector"
902
  msgstr ""
903
 
904
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:197
905
  msgid "Mobile Device Info"
906
  msgstr ""
907
 
908
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:198
909
  msgid "Mobile Device Marketing Name"
910
  msgstr ""
911
 
912
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:201
 
 
 
 
913
  msgid "Geo / Network"
914
  msgstr ""
915
 
916
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:202
917
  msgid "Continent"
918
  msgstr ""
919
 
920
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:203
921
  msgid "Sub-Continent"
922
  msgstr ""
923
 
924
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:205
925
  msgid "Region"
926
  msgstr ""
927
 
928
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:206
929
  msgid "City"
930
  msgstr ""
931
 
932
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:208
933
  msgid "System"
934
  msgstr ""
935
 
936
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:209
937
  msgid "Flash Version"
938
  msgstr ""
939
 
940
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:210
941
  msgid "Java Enabled"
942
  msgstr ""
943
 
944
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:211
945
  msgid "Language"
946
  msgstr ""
947
 
948
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:212
949
  msgid "Screen Colors"
950
  msgstr ""
951
 
952
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:213
953
  msgid "Screen Resolution"
954
  msgstr ""
955
 
956
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:216
957
  msgid "Hostname"
958
  msgstr ""
959
 
960
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:219
961
  msgid "Search Used"
962
  msgstr ""
963
 
964
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:220
965
  msgid "Search Keyword"
966
  msgstr ""
967
 
968
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:223
969
  msgid "Event Category"
970
  msgstr ""
971
 
972
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:224
973
  msgid "Event Action"
974
  msgstr ""
975
 
976
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:228
977
  msgid "Social Action"
978
  msgstr ""
979
 
980
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:229
981
  msgid "Social Network Action"
982
  msgstr ""
983
 
984
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:230
985
  msgid "Social Engagement Type"
986
  msgstr ""
987
 
988
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:232
989
  msgid "Custom Variables"
990
  msgstr ""
991
 
992
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:233
993
  msgid "Custom Dimension 1"
994
  msgstr ""
995
 
996
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:234
997
  msgid "Custom Dimension 2"
998
  msgstr ""
999
 
1000
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:235
1001
  msgid "Custom Dimension 3"
1002
  msgstr ""
1003
 
1004
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:236
1005
  msgid "Custom Dimension 4"
1006
  msgstr ""
1007
 
1008
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:237
1009
  msgid "Custom Dimension 5"
1010
  msgstr ""
1011
 
1012
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:238
1013
  msgid "Custom Variable Value 1"
1014
  msgstr ""
1015
 
1016
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:239
1017
  msgid "Custom Variable Value 2"
1018
  msgstr ""
1019
 
1020
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:240
1021
  msgid "Custom Variable Value 3"
1022
  msgstr ""
1023
 
1024
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:241
1025
  msgid "Custom Variable Value 4"
1026
  msgstr ""
1027
 
1028
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:242
1029
  msgid "Custom Variable Value 5"
1030
  msgstr ""
1031
 
1032
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:244
1033
  msgid "Audience"
1034
  msgstr ""
1035
 
1036
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:245
1037
  msgid "Age Bracket"
1038
  msgstr ""
1039
 
1040
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:246
1041
  msgid "Gender"
1042
  msgstr ""
1043
 
1044
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:247
1045
  msgid "Interest Affinity"
1046
  msgstr ""
1047
 
1048
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:248
1049
  msgid "Interest In Market"
1050
  msgstr ""
1051
 
1052
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:249
1053
  msgid "Interest Other"
1054
  msgstr ""
1055
 
1056
+ #: library/DigitalPointBetterAnalytics/Model/Reporting.php:264
1057
  msgid "(scope set to %s, should be HIT)"
1058
  msgstr ""
1059
 
1113
  msgstr ""
1114
 
1115
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:63
1116
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:608
1117
  msgid "Twitter"
1118
  msgstr ""
1119
 
1166
  msgstr ""
1167
 
1168
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:178
1169
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:761
1170
  msgid "Pick profile"
1171
  msgstr ""
1172
 
1173
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:180
1174
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:763
1175
  msgid "please pick a profile"
1176
  msgstr ""
1177
 
1326
  "Google Analytics account."
1327
  msgstr ""
1328
 
1329
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:389
1330
  msgid "Categories: "
1331
  msgstr ""
1332
 
1333
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:396
1334
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:429
1335
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:463
1336
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:497
1337
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:531
1338
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:565
1339
  msgid "Pick dimension"
1340
  msgstr ""
1341
 
1342
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:398
1343
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:431
1344
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:465
1345
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:499
1346
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:533
1347
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:567
1348
  msgid "[none]"
1349
  msgstr ""
1350
 
1351
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:421
1352
  msgid "Author: "
1353
  msgstr ""
1354
 
1355
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:455
1356
  msgid "Tags: "
1357
  msgstr ""
1358
 
1359
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:489
1360
  msgid "Publication Year: "
1361
  msgstr ""
1362
 
1363
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:523
1364
  msgid "User Role: "
1365
  msgstr ""
1366
 
1367
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:557
1368
  msgid "Registered User: "
1369
  msgstr ""
1370
 
1371
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:597
1372
  msgid "Button Engagement To Track"
1373
  msgstr ""
1374
 
1375
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:603
1376
  msgid "Facebook Like"
1377
  msgstr ""
1378
 
1379
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:613
1380
  msgid "Google+ (Google Analytics always tracks)"
1381
  msgstr ""
1382
 
1383
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:618
1384
  msgid "Pinterest"
1385
  msgstr ""
1386
 
1387
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:623
1388
  msgid "LinkedIn"
1389
  msgstr ""
1390
 
1391
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:631
1392
  msgid "Advertisement Clicks To Track"
1393
  msgstr ""
1394
 
1395
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:642
1396
  msgid "Outbrain"
1397
  msgstr ""
1398
 
1399
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:647
1400
  msgid "Taboola"
1401
  msgstr ""
1402
 
1403
+ #. #-#-#-#-# plugin.pot (Better Analytics 1.0.5) #-#-#-#-#
1404
  #. Author of the plugin/theme
1405
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:652
1406
  msgid "Digital Point"
1407
  msgstr ""
1408
 
1409
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:663
1410
  msgid "Site Issues To Track"
1411
  msgstr ""
1412
 
1413
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:675
1414
  msgid ""
1415
  "This relies on the ability of the user's browser to load images which will "
1416
  "vary between browsers and Internet connections. This event can be a useful "
1418
  "that the end user's browser did not load (for any reason)."
1419
  msgstr ""
1420
 
1421
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:695
1422
  msgid ""
1423
  "This allows you to quickly find old videos that the author has removed or "
1424
  "disabled embeding for."
1425
  msgstr ""
1426
 
1427
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:704
1428
  msgid "Debugging Events"
1429
  msgstr ""
1430
 
1431
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:723
1432
  msgid "WooCommerce"
1433
  msgstr ""
1434
 
1435
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:731
1436
  msgid "WooCommerce not enabled/active."
1437
  msgstr ""
1438
 
1439
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:734
1440
  msgid "More information about %s"
1441
  msgstr ""
1442
 
1443
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:736
1444
  msgid "View details"
1445
  msgstr ""
1446
 
1447
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:758
1448
  msgid "Profile Used For Reporting"
1449
  msgstr ""
1450
 
1451
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:793
1452
  msgid "Multisite Mode: Analytics account linked at network level"
1453
  msgstr ""
1454
 
1455
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:807
1456
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config_network.php:20
1457
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:122
1458
  msgid "Link/Authenticate A Different Google Analytics Account"
1459
  msgstr ""
1460
 
1461
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:807
1462
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config_network.php:20
1463
  msgid "Link/Authenticate Your Google Analytics Account"
1464
  msgstr ""
1465
 
1466
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:826
1467
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config_network.php:39
1468
  msgid "Use Your Own Project Credentials"
1469
  msgstr ""
1470
 
1471
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:828
1472
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config_network.php:40
1473
  msgid ""
1474
  "If you have your own Google API Project that you wish to use, you can use "
1475
  "your credentials for that web application."
1476
  msgstr ""
1477
 
1478
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:839
1479
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config_network.php:50
1480
  msgid "Configuration"
1481
  msgstr ""
1482
 
1483
  #. translators: %1$s = <strong>, %2$s = </strong>
1484
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:841
1485
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config_network.php:52
1486
  msgid ""
1487
  "Project needs to have the %1$sAnalytics API%2$s enabled under %1$sAPIs & "
1489
  msgstr ""
1490
 
1491
  #. translators: %1$s = <strong>, %2$s = </strong>
1492
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:843
1493
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config_network.php:54
1494
  msgid ""
1495
  "Under %1$sAPIs & auth -> Credentials%2$s, you need to %1$sCreate new Client "
1497
  "%1$s%3$s%2$s"
1498
  msgstr ""
1499
 
1500
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:851
1501
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config_network.php:61
1502
  msgid "Client ID"
1503
  msgstr ""
1504
 
1505
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:861
1506
  #: library/DigitalPointBetterAnalytics/ViewAdmin/config_network.php:68
1507
  msgid "Client Secret"
1508
  msgstr ""
1509
 
1510
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:872
1511
  msgid "Roles To Not Track"
1512
  msgstr ""
1513
 
1514
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:872
1515
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:908
1516
  msgid ""
1517
  "If a logged in user is part of one of these groups, Analytics will not track "
1518
  "them."
1519
  msgstr ""
1520
 
1521
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:875
1522
  msgid "Pick roles to not track"
1523
  msgstr ""
1524
 
1525
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:890
1526
  msgid "Roles Able To View Reports/Dashboard"
1527
  msgstr ""
1528
 
1529
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:893
1530
  msgid "Pick roles that are able to view reports"
1531
  msgstr ""
1532
 
1533
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:908
1534
  msgid "File Extensions To Track As Downloads"
1535
  msgstr ""
1536
 
1537
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:910
1538
  msgid "Pick file extensions"
1539
  msgstr ""
1540
 
1541
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:915
1542
  msgid "Audio Video Interleave (.avi)"
1543
  msgstr ""
1544
 
1545
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:916
1546
  msgid "Word (.doc)"
1547
  msgstr ""
1548
 
1549
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:917
1550
  msgid "Executable (.exe)"
1551
  msgstr ""
1552
 
1553
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:918
1554
  msgid "gzip (.gz)"
1555
  msgstr ""
1556
 
1557
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:919
1558
  msgid "MPEG-1 Video (.mpg)"
1559
  msgstr ""
1560
 
1561
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:920
1562
  msgid "MP3 (.mp3)"
1563
  msgstr ""
1564
 
1565
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:921
1566
  msgid "Acrobat (.pdf)"
1567
  msgstr ""
1568
 
1569
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:922
1570
  msgid "PowerPoint (.ppt)"
1571
  msgstr ""
1572
 
1573
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:923
1574
  msgid "Photoshop (.psd)"
1575
  msgstr ""
1576
 
1577
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:924
1578
  msgid "RAR (.rar)"
1579
  msgstr ""
1580
 
1581
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:925
1582
  msgid "Windows Media Video (.wmv)"
1583
  msgstr ""
1584
 
1585
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:926
1586
  msgid "Excel (.xls)"
1587
  msgstr ""
1588
 
1589
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:927
1590
  msgid "Zip Archive (.zip)"
1591
  msgstr ""
1592
 
1593
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:941
1594
  msgid "Track Users With Analytics Blockers"
1595
  msgstr ""
1596
 
1597
  #. translators: %1$s = <strong>, %2$s = </strong>, %3$s = <p />
1598
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:944
1599
  msgid ""
1600
  "If a user has a mechanism that is blocking them from being tracked with "
1601
  "Google Analytics, you can use this option to do server-side page view "
1606
  "tracked (ones not popular enough to be widely known as a spider)."
1607
  msgstr ""
1608
 
1609
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:950
1610
  msgid "Never"
1611
  msgstr ""
1612
 
1613
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:955
1614
  msgid "Registered Users"
1615
  msgstr ""
1616
 
1617
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:960
1618
  msgid "Humans"
1619
  msgstr ""
1620
 
1621
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:973
1622
  msgid "Location For Analytics Code"
1623
  msgstr ""
1624
 
1625
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:978
1626
  msgid "Header"
1627
  msgstr ""
1628
 
1629
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:983
1630
  msgid "Footer"
1631
  msgstr ""
1632
 
1633
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:988
1634
  msgid "No JavaScript (you have your own/other already)"
1635
  msgstr ""
1636
 
1637
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:994
1638
  msgid "Use In Staff Area (wp-admin)"
1639
  msgstr ""
1640
 
1641
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1000
1642
  msgid "When To Run Analytics Code"
1643
  msgstr ""
1644
 
1645
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1005
1646
  msgid "Immediately"
1647
  msgstr ""
1648
 
1649
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1010
1650
  msgid "After Page Loads"
1651
  msgstr ""
1652
 
1653
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1017
1654
  msgid "Campaign Tracking Within URLs"
1655
  msgstr ""
1656
 
1657
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1022
1658
  msgid "In Anchor"
1659
  msgstr ""
1660
 
1661
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1027
1662
  msgid "In Parameters"
1663
  msgstr ""
1664
 
1665
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1034
1666
  msgid "Sample Rate"
1667
  msgstr ""
1668
 
1669
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1034
1670
  msgid ""
1671
  "Specifies what percentage of users should be tracked. Very large sites may "
1672
  "need to use a lower sample rate to stay within Google Analytics processing "
1673
  "limits."
1674
  msgstr ""
1675
 
1676
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1055
1677
  msgid "Extra JavaScript"
1678
  msgstr ""
1679
 
1680
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1055
1681
  msgid ""
1682
  "This allows you to add your own JavaScript code to the Analytics tracking "
1683
  "code. This JavaScript is inserted right before the %1$s function."
1684
  msgstr ""
1685
 
1686
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1062
1687
  msgid "Debugging"
1688
  msgstr ""
1689
 
1690
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1067
1691
  msgid "Enable Google Analytics Debugging"
1692
  msgstr ""
1693
 
1694
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/config.php:1068
1695
  msgid "This will display Google Analytics debug data in the browser console."
1696
  msgstr ""
1697
 
1885
  msgid "Days Ago"
1886
  msgstr ""
1887
 
1888
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:39
1889
+ msgid "You need to first link a Google Analytics account to auto-configure it."
1890
+ msgstr ""
1891
+
1892
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:68
1893
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:114
1894
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:354
1895
  msgid "Auto-Configure"
1896
  msgstr ""
1897
 
1898
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:72
1899
  msgid ""
1900
+ "Only use this option if you are sure you want to auto-configure everything."
 
1901
  msgstr ""
1902
 
1903
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:79
1904
+ msgid ""
1905
+ "Please select the Google Analytics account that you wish to create a new Web "
1906
+ "Property within:"
1907
+ msgstr ""
1908
+
1909
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:81
1910
+ msgid "Pick account"
1911
  msgstr ""
1912
 
1913
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:90
1914
  msgid ""
1915
+ "Please select the industry vertical that you wish your Web Property to be "
1916
+ "assigned to:"
1917
+ msgstr ""
1918
+
1919
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:92
1920
+ msgid "Pick industry vertical"
1921
+ msgstr ""
1922
+
1923
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:100
1924
+ msgid "This will perform the following actions:"
1925
+ msgstr ""
1926
+
1927
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:105
1928
+ msgid "Create a new Web Property within your selected Google Analytics account"
1929
  msgstr ""
1930
 
1931
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:107
1932
  msgid "Set Site Search Query Parameter to %s on Analytics account"
1933
  msgstr ""
1934
 
1935
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:108
1936
  msgid "Enable Ecommerce options on Analytics account"
1937
  msgstr ""
1938
 
1939
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:109
1940
  msgid "Set Industry Vertical on Analytics account"
1941
  msgstr ""
1942
 
1943
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:110
1944
+ msgid ""
1945
+ "Create %1$u custom dimensions for this Analytics property if they do not "
1946
+ "already exist (%2$s)"
1947
+ msgstr ""
1948
+
1949
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:111
1950
+ msgid "Map the %1$u custom dimensions in your Better Analytics settings"
1951
+ msgstr ""
1952
+
1953
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:121
1954
  msgid ""
1955
+ "Your linked Google account doesn't appear to have any Google Analytics "
1956
+ "accounts within it. You can link a different Google account or create a "
1957
+ "Google Analytics account within it."
1958
  msgstr ""
1959
 
1960
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:123
1961
+ msgid "Create Analytics Account Manually Within Your Google Account"
1962
  msgstr ""
1963
 
1964
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:253
1965
+ msgid ""
1966
+ "Google API Quota Exceeded (you will need to configure your Google Analytics "
1967
+ "account manually)."
1968
+ msgstr ""
1969
+
1970
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:294
1971
  msgid "Test Analytics Integration"
1972
  msgstr ""
1973
 
1974
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:297
1975
  msgid ""
1976
  "This is a checklist of things for full integration with Google Analytics. "
1977
  "You can click on any of the titles to be taken where you need to go to "
1978
  "configure that item."
1979
  msgstr ""
1980
 
1981
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:301
1982
  msgid "Things That Can Be Automatically Checked"
1983
  msgstr ""
1984
 
1985
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:306
1986
  msgid "Web Property ID Defined"
1987
  msgstr ""
1988
 
1989
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:315
1990
  msgid "cURL Installed"
1991
  msgstr ""
1992
 
1993
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:321
1994
  msgid ""
1995
  "Not required, but recommended to have the cURL extensions enabled in PHP."
1996
  msgstr ""
1997
 
1998
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:341
1999
  msgid "Google Analytics Account Linked"
2000
  msgstr ""
2001
 
2002
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:353
2003
+ msgid ""
2004
+ "Items highlighted in yellow can be auto-configured via the Google Analytics "
2005
+ "API if you wish."
2006
+ msgstr ""
2007
+
2008
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:362
2009
  msgid "Analytics Profile Selected"
2010
  msgstr ""
2011
 
2012
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:368
2013
+ msgid ""
2014
+ "If you would like the Auto-Configure system to create a new Web Property on "
2015
+ "your Google Analytics account, don't select an existing profile."
2016
+ msgstr ""
2017
+
2018
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:375
2019
  msgid "Site Search Setup"
2020
  msgstr ""
2021
 
2022
  #. translators: %1$s = <strong>, %2$s = </strong>
2023
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:382
2024
  msgid ""
2025
  "Found in Google Analytics account under %1$sView Settings -> Query Parameter"
2026
  "%2$s (should be set to \"%1$ss%2$s\")."
2027
  msgstr ""
2028
 
2029
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:388
2030
  msgid "Ecommerce Tracking Enabled"
2031
  msgstr ""
2032
 
2033
  #. translators: %1$s = <strong>, %2$s = </strong>
2034
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:396
2035
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:409
2036
  msgid "Found in Google Analytics account under %1$sEcommerce Settings%2$s."
2037
  msgstr ""
2038
 
2039
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:402
2040
  msgid "Enhanced Ecommerce Tracking Enabled"
2041
  msgstr ""
2042
 
2043
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:415
2044
  msgid "Industry Vertical Set"
2045
  msgstr ""
2046
 
2047
  #. translators: %1$s = <strong>, %2$s = </strong>, %3$s = current setting in
2048
  #. Google Analytics account
2049
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:422
2050
  msgid ""
2051
  "Found in Google Analytics account under %1$sProperty Settings%2$s (currently "
2052
  "set to %1$s%3$s%2$s)."
2053
  msgstr ""
2054
 
2055
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:428
2056
  msgid "Custom Dimension For Category Tracking"
2057
  msgstr ""
2058
 
2059
  #. translators: %1$s = <strong>, %2$s = </strong> ... %3$s can't be translated
2060
  #. - leave
2061
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:435
2062
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:449
2063
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:462
2064
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:476
2065
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:490
2066
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:505
2067
  msgid ""
2068
  "Found in Google Analytics account under %1$sCustom Definitions -> Custom "
2069
  "Dimensions%2$s (should be named \"%1$s%3$s%2$s\" and scoped for \"%1$sHit%2$s"
2070
  "\")."
2071
  msgstr ""
2072
 
2073
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:441
2074
  msgid "Custom Dimension For Author Tracking"
2075
  msgstr ""
2076
 
2077
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:455
2078
  msgid "Custom Dimension For Tag Tracking"
2079
  msgstr ""
2080
 
2081
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:468
2082
  msgid "Custom Dimension For Publication Year Tracking"
2083
  msgstr ""
2084
 
2085
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:482
2086
  msgid "Custom Dimension For User Role Tracking"
2087
  msgstr ""
2088
 
2089
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:497
2090
  msgid "Custom Dimension For User Tracking"
2091
  msgstr ""
2092
 
2093
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:512
2094
  msgid "Category Tracking Dimension Index Set"
2095
  msgstr ""
2096
 
2097
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:521
2098
  msgid "Author Tracking Dimension Index Set"
2099
  msgstr ""
2100
 
2101
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:529
2102
  msgid "Tag Tracking Dimension Index Set"
2103
  msgstr ""
2104
 
2105
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:537
2106
  msgid "Publication Year Tracking Dimension Index Set"
2107
  msgstr ""
2108
 
2109
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:545
2110
  msgid "User Role Tracking Dimension Index Set"
2111
  msgstr ""
2112
 
2113
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:553
2114
  msgid "Registered User Tracking Dimension Index Set"
2115
  msgstr ""
2116
 
2117
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:561
2118
  msgid "Better Analytics Pro License"
2119
  msgstr ""
2120
 
2121
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:566
2122
  msgid ""
2123
  "A few extra advanced features are available when you license the Better "
2124
  "Analytics Pro plugin. Please don't steal, a crazy amount of work went into "
2125
  "this. Some of the extra features:"
2126
  msgstr ""
2127
 
2128
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:570
2129
  msgid "More metrics available for %1$sHeat Maps%2$s"
2130
  msgstr ""
2131
 
2132
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:575
2133
  msgid "More dimensions available for %1$sCharts%2$s"
2134
  msgstr ""
2135
 
2136
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:580
2137
  msgid "More %1$sadvertising platform click tracking%2$s"
2138
  msgstr ""
2139
 
2140
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:585
2141
  msgid "More %1$sissue monitoring options%2$s"
2142
  msgstr ""
2143
 
2144
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:590
2145
  msgid "%1$seCommerce tracking%2$s"
2146
  msgstr ""
2147
 
2148
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:595
2149
  msgid "Ability to do %1$sserver-side tracking of users%2$s"
2150
  msgstr ""
2151
 
2152
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:600
2153
  msgid "Faster API calls (utilizes a multi-threaded mechanism)"
2154
  msgstr ""
2155
 
2156
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:605
2157
  msgid "%1$sPriority support%2$s"
2158
  msgstr ""
2159
 
2160
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:610
2161
  msgid ""
2162
  "A Warm & Fuzzy Feeling knowing you are helping to continue future development"
2163
  msgstr ""
2164
 
2165
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:622
2166
  msgid "Things That Need To Be Checked Manually"
2167
  msgstr ""
2168
 
2169
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:626
2170
  msgid "User-ID Tracking"
2171
  msgstr ""
2172
 
2173
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:629
2174
  msgid ""
2175
  "Found in Google Analytics account under %1$sTracking Info -> User-ID%2$s."
2176
  msgstr ""
2177
 
2178
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:634
2179
  msgid "Demographic and Interest Reports"
2180
  msgstr ""
2181
 
2182
+ #: library/DigitalPointBetterAnalytics/ViewAdmin/test.php:637
2183
  msgid "Found in Google Analytics account under %1$sProperty Settings%1$s."
2184
  msgstr ""
2185
 
library/DigitalPointBetterAnalytics/Base/Admin.php CHANGED
@@ -57,6 +57,16 @@ class DigitalPointBetterAnalytics_Base_Admin
57
  add_action('admin_notices', array($this, 'not_configured' ) );
58
  }
59
 
 
 
 
 
 
 
 
 
 
 
60
  if (get_transient('ba_last_error'))
61
  {
62
  add_action('admin_notices', array($this, 'last_error' ) );
@@ -207,7 +217,23 @@ class DigitalPointBetterAnalytics_Base_Admin
207
 
208
  public function not_configured()
209
  {
210
- $this->_displayError(sprintf('%1$s<p><a href="%2$s" class="button button-primary">%3$s</a></p>', esc_html__('Google Analytics Web Property ID not selected.', 'better-analytics'), esc_url(menu_page_url('better-analytics', false)), esc_html__('Settings', 'better-analytics')));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
  }
212
 
213
  public function last_error()
@@ -288,6 +314,11 @@ class DigitalPointBetterAnalytics_Base_Admin
288
  DigitalPointBetterAnalytics_Base_Public::getInstance()->updateTokens($response, is_network_admin());
289
  DigitalPointBetterAnalytics_CronEntry_Jobs::hour(true);
290
 
 
 
 
 
 
291
  if (is_network_admin())
292
  {
293
  wp_redirect(self_admin_url('settings.php'), 302);
@@ -382,6 +413,7 @@ class DigitalPointBetterAnalytics_Base_Admin
382
  public function all_plugins($plugins)
383
  {
384
  unset($plugins['better-analytics-pro/better-analytics-pro.php']);
 
385
  return $plugins;
386
  }
387
 
57
  add_action('admin_notices', array($this, 'not_configured' ) );
58
  }
59
 
60
+ if (!get_site_option('ba_site_tokens') && !get_option('ba_tokens'))
61
+ {
62
+ add_action('admin_notices', array($this, 'cant_auto_configure' ) );
63
+ }
64
+ elseif (!$betterAnalyticsOptions['api']['profile'])
65
+ {
66
+ add_action('admin_notices', array($this, 'can_auto_configure' ) );
67
+
68
+ }
69
+
70
  if (get_transient('ba_last_error'))
71
  {
72
  add_action('admin_notices', array($this, 'last_error' ) );
217
 
218
  public function not_configured()
219
  {
220
+ $this->_displayError(
221
+ sprintf('%1$s<p><a href="%2$s" class="button button-primary">%3$s</a></p>', esc_html__('Google Analytics Web Property ID not selected.', 'better-analytics'), esc_url(menu_page_url('better-analytics', false)), esc_html__('Settings', 'better-analytics'))
222
+ );
223
+ }
224
+
225
+ public function cant_auto_configure()
226
+ {
227
+ $this->_displayError(
228
+ sprintf('%1$s<p><a href="%2$s" class="button button-primary">%3$s</a></p>', esc_html__('Google Analytics account not linked for API functions.', 'better-analytics'), esc_url(menu_page_url('better-analytics', false) . '#top#api'), esc_html__('API Settings', 'better-analytics'))
229
+ );
230
+ }
231
+
232
+ public function can_auto_configure()
233
+ {
234
+ $this->_displayError(
235
+ sprintf('%1$s<p><a href="%2$s" class="button button-primary">%3$s</a></p>', esc_html__('Google Analytics account not yet configured.', 'better-analytics'), esc_url(menu_page_url('better-analytics_test', false)), esc_html__('Test Setup / Auto-Configure', 'better-analytics'))
236
+ );
237
  }
238
 
239
  public function last_error()
314
  DigitalPointBetterAnalytics_Base_Public::getInstance()->updateTokens($response, is_network_admin());
315
  DigitalPointBetterAnalytics_CronEntry_Jobs::hour(true);
316
 
317
+ // Checks for access
318
+ $reportingClass = DigitalPointBetterAnalytics_Helper_Reporting::getInstance();
319
+ $reportingClass->deleteProfileCache();
320
+ $reportingClass->getProfiles();
321
+
322
  if (is_network_admin())
323
  {
324
  wp_redirect(self_admin_url('settings.php'), 302);
413
  public function all_plugins($plugins)
414
  {
415
  unset($plugins['better-analytics-pro/better-analytics-pro.php']);
416
+ unset($plugins['better-analytics-ecommerce/better-analytics-ecommerce.php']);
417
  return $plugins;
418
  }
419
 
library/DigitalPointBetterAnalytics/Base/Public.php CHANGED
@@ -51,6 +51,13 @@ class DigitalPointBetterAnalytics_Base_Public
51
  include($proLocation . $filename);
52
  return (class_exists($class, false) || interface_exists($class, false));
53
  }
 
 
 
 
 
 
 
54
  elseif (file_exists(BETTER_ANALYTICS_PLUGIN_DIR . $filename))
55
  {
56
  include(BETTER_ANALYTICS_PLUGIN_DIR . $filename);
@@ -86,7 +93,7 @@ class DigitalPointBetterAnalytics_Base_Public
86
 
87
  add_action('wp_insert_comment', array($this, 'insert_comment'), 10, 2);
88
 
89
- add_filter('wp_mail', array($this, 'filter_mail' ));
90
  add_filter('the_permalink_rss', array($this, 'fiter_rss_links' ));
91
  add_filter('the_content_feed', array($this, 'filter_rss_content' ));
92
 
@@ -413,8 +420,32 @@ class DigitalPointBetterAnalytics_Base_Public
413
  {
414
  $analyticsClientId = uniqid();
415
 
416
- $atts['message'] = '<html><body>' . nl2br(htmlentities($atts['message'])) . '<img src="https://www.google-analytics.com/collect?v=1&tid=' . urlencode($betterAnalyticsOptions['property_id']) . '&cid=' . $analyticsClientId . '&t=event&ec=Email&ea=Open&el=' . urlencode($atts['subject']) . '&cm=email&z=' . uniqid() . '" /></body></html>';
417
- $atts['headers']['content_type'] = 'Content-Type: text/html; charset=UTF-8';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
418
 
419
  DigitalPointBetterAnalytics_Helper_Analytics::getInstance()->event(
420
  $betterAnalyticsOptions['property_id'],
51
  include($proLocation . $filename);
52
  return (class_exists($class, false) || interface_exists($class, false));
53
  }
54
+
55
+ $ecommerceLocation = substr_replace(BETTER_ANALYTICS_PLUGIN_DIR, '-ecommerce', -1);
56
+ if (file_exists($ecommerceLocation . $filename))
57
+ {
58
+ include($ecommerceLocation . $filename);
59
+ return (class_exists($class, false) || interface_exists($class, false));
60
+ }
61
  elseif (file_exists(BETTER_ANALYTICS_PLUGIN_DIR . $filename))
62
  {
63
  include(BETTER_ANALYTICS_PLUGIN_DIR . $filename);
93
 
94
  add_action('wp_insert_comment', array($this, 'insert_comment'), 10, 2);
95
 
96
+ add_filter('wp_mail', array($this, 'filter_mail' ), 100);
97
  add_filter('the_permalink_rss', array($this, 'fiter_rss_links' ));
98
  add_filter('the_content_feed', array($this, 'filter_rss_content' ));
99
 
420
  {
421
  $analyticsClientId = uniqid();
422
 
423
+ $convertToHtml = false;
424
+ if (is_string($atts['headers']))
425
+ {
426
+ if (stripos($atts['headers'], 'text/html') === false)
427
+ {
428
+ $convertToHtml = true;
429
+ $atts['headers'] = preg_replace('#content-type:.*#i', 'Content-Type: text/html; charset=UTF-8', $atts['headers']);
430
+
431
+ if (stripos($atts['headers'], 'text/html') === false)
432
+ {
433
+ $atts['headers'] = "Content-Type: text/html; charset=UTF-8\r\n" . $atts['headers'];
434
+ }
435
+ }
436
+ }
437
+ elseif (stripos($atts['headers']['content_type'], 'text/html') === false)
438
+ {
439
+ $convertToHtml = true;
440
+ $atts['headers']['content_type'] = 'Content-Type: text/html; charset=UTF-8';
441
+ }
442
+
443
+ if ($convertToHtml)
444
+ {
445
+ $atts['message'] = '<html><body>' . nl2br(htmlentities($atts['message'])) . '</body></html>';
446
+ }
447
+
448
+ $atts['message'] = str_ireplace('</body>', '<img src="https://www.google-analytics.com/collect?v=1&tid=' . urlencode($betterAnalyticsOptions['property_id']) . '&cid=' . $analyticsClientId . '&t=event&ec=Email&ea=Open&el=' . urlencode($atts['subject']) . '&cm=email&z=' . uniqid() . '" />' . '</body>', $atts['message']);
449
 
450
  DigitalPointBetterAnalytics_Helper_Analytics::getInstance()->event(
451
  $betterAnalyticsOptions['property_id'],
library/DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php CHANGED
@@ -501,43 +501,44 @@ class DigitalPointBetterAnalytics_ControllerAdmin_Analytics
501
 
502
  $betterAnalyticsOptions = get_option('better_analytics');
503
 
504
- $dimensions['l:ga:date'] = __('Date', 'better-analytics');
505
 
506
  if (!empty($betterAnalyticsOptions['dimension']['category']))
507
  {
508
- $dimensions['p:ga:dimension' . $betterAnalyticsOptions['dimension']['category']] = __('Categories', 'better-analytics');
509
  }
510
  if (!empty($betterAnalyticsOptions['dimension']['author']))
511
  {
512
- $dimensions['p:ga:dimension' . $betterAnalyticsOptions['dimension']['author']] = __('Authors', 'better-analytics');
513
  }
514
  if (!empty($betterAnalyticsOptions['dimension']['tag']))
515
  {
516
- $dimensions['p:ga:dimension' . $betterAnalyticsOptions['dimension']['tag']] = __('Tags', 'better-analytics');
517
  }
518
  if (!empty($betterAnalyticsOptions['dimension']['year']))
519
  {
520
- $dimensions['p:ga:dimension' . $betterAnalyticsOptions['dimension']['year']] = __('Publication Year', 'better-analytics');
521
  }
522
  if (!empty($betterAnalyticsOptions['dimension']['role']))
523
  {
524
- $dimensions['p:ga:dimension' . $betterAnalyticsOptions['dimension']['role']] = __('User Role', 'better-analytics');
525
  }
 
 
 
 
 
526
 
527
-
528
- $dimensions['p:ga:source'] = __('Source', 'better-analytics');
529
- $dimensions['p:ga:fullReferrer'] = __('Referrer', 'better-analytics');
530
-
531
- $dimensions['p:ga:medium'] = __('Medium', 'better-analytics');
532
- $dimensions['g:ga:country'] = __('Country', 'better-analytics');
533
- //$dimensions['g:ga:region'] = __('Region', 'better-analytics');
534
- //$dimensions['g:ga:city'] = __('City', 'better-analytics');
535
 
536
 
537
  /*
538
  if (!empty($betterAnalyticsOptions['dimension']['user']))
539
  {
540
- $dimensions['p:ga:dimension' . $betterAnalyticsOptions['dimension']['user']] = __('Top Registered Users', 'better-analytics');
541
  }
542
  */
543
  return $dimensions;
@@ -546,11 +547,11 @@ class DigitalPointBetterAnalytics_ControllerAdmin_Analytics
546
  static public function getMetricsForCharts()
547
  {
548
  $metrics = array(
549
- 'ga:pageviews' => __('Page Views', 'better-analytics'),
550
- 'ga:sessions' => __('Sessions', 'better-analytics'),
551
- 'ga:users' => __('Users', 'better-analytics'),
552
- 'ga:avgSessionDuration' => __('Session Length', 'better-analytics'),
553
- 'ga:organicSearches' => __('Organic Search', 'better-analytics')
554
  );
555
 
556
  return $metrics;
501
 
502
  $betterAnalyticsOptions = get_option('better_analytics');
503
 
504
+ $dimensions['l:ga:date'] = esc_html__('Date', 'better-analytics');
505
 
506
  if (!empty($betterAnalyticsOptions['dimension']['category']))
507
  {
508
+ $dimensions['p:ga:dimension' . $betterAnalyticsOptions['dimension']['category']] = esc_html__('Categories', 'better-analytics');
509
  }
510
  if (!empty($betterAnalyticsOptions['dimension']['author']))
511
  {
512
+ $dimensions['p:ga:dimension' . $betterAnalyticsOptions['dimension']['author']] = esc_html__('Authors', 'better-analytics');
513
  }
514
  if (!empty($betterAnalyticsOptions['dimension']['tag']))
515
  {
516
+ $dimensions['p:ga:dimension' . $betterAnalyticsOptions['dimension']['tag']] = esc_html__('Tags', 'better-analytics');
517
  }
518
  if (!empty($betterAnalyticsOptions['dimension']['year']))
519
  {
520
+ $dimensions['p:ga:dimension' . $betterAnalyticsOptions['dimension']['year']] = esc_html__('Publication Year', 'better-analytics');
521
  }
522
  if (!empty($betterAnalyticsOptions['dimension']['role']))
523
  {
524
+ $dimensions['p:ga:dimension' . $betterAnalyticsOptions['dimension']['role']] = esc_html__('User Role', 'better-analytics');
525
  }
526
+ $dimensions['p:ga:browser'] = esc_html__('Browser', 'better-analytics');
527
+ $dimensions['p:ga:operatingSystem'] = esc_html__('Operating System', 'better-analytics');
528
+ $dimensions['p:ga:deviceCategory'] = esc_html__('Device Category', 'better-analytics');
529
+ $dimensions['p:ga:source'] = esc_html__('Source', 'better-analytics');
530
+ $dimensions['p:ga:fullReferrer'] = esc_html__('Referrer', 'better-analytics');
531
 
532
+ $dimensions['p:ga:medium'] = esc_html__('Medium', 'better-analytics');
533
+ $dimensions['g:ga:country'] = esc_html__('Country', 'better-analytics');
534
+ //$dimensions['g:ga:region'] = esc_html__('Region', 'better-analytics');
535
+ //$dimensions['g:ga:city'] = esc_html__('City', 'better-analytics');
 
 
 
 
536
 
537
 
538
  /*
539
  if (!empty($betterAnalyticsOptions['dimension']['user']))
540
  {
541
+ $dimensions['p:ga:dimension' . $betterAnalyticsOptions['dimension']['user']] = esc_html__('Top Registered Users', 'better-analytics');
542
  }
543
  */
544
  return $dimensions;
547
  static public function getMetricsForCharts()
548
  {
549
  $metrics = array(
550
+ 'ga:pageviews' => esc_html__('Page Views', 'better-analytics'),
551
+ 'ga:sessions' => esc_html__('Sessions', 'better-analytics'),
552
+ 'ga:users' => esc_html__('Users', 'better-analytics'),
553
+ 'ga:avgSessionDuration' => esc_html__('Session Length', 'better-analytics'),
554
+ 'ga:organicSearches' => esc_html__('Organic Search', 'better-analytics')
555
  );
556
 
557
  return $metrics;
library/DigitalPointBetterAnalytics/Helper/Analytics/Advanced.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- abstract class DigitalPointBetterAnalytics_Helper_Analytics_Advanced extends DigitalPointBetterAnalytics_Helper_Analytics_Abstract
4
  {
5
 
6
  }
1
  <?php
2
 
3
+ abstract class DigitalPointBetterAnalytics_Helper_Analytics_Advanced extends DigitalPointBetterAnalytics_Helper_Analytics_Ecommerce
4
  {
5
 
6
  }
library/DigitalPointBetterAnalytics/Helper/Analytics/Ecommerce.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?php
2
+
3
+ abstract class DigitalPointBetterAnalytics_Helper_Analytics_Ecommerce extends DigitalPointBetterAnalytics_Helper_Analytics_Abstract
4
+ {
5
+
6
+ }
library/DigitalPointBetterAnalytics/Helper/Reporting.php CHANGED
@@ -67,13 +67,15 @@ class DigitalPointBetterAnalytics_Helper_Reporting extends DigitalPointBetterAna
67
 
68
  protected function _deleteTokens()
69
  {
70
- DigitalPointBetterAnalytics_Base_Public::getInstance()->deleteTokens();
 
 
 
71
  }
72
 
73
  protected function _throwException()
74
  {
75
- $this->_cacheSave('ba_last_error', __('No API tokens to refresh.', 'better-analytics'), 0.15); // 9 seconds
76
-
77
  return;
78
  }
79
 
@@ -84,6 +86,11 @@ class DigitalPointBetterAnalytics_Helper_Reporting extends DigitalPointBetterAna
84
  return;
85
  }
86
 
 
 
 
 
 
87
  protected function _getAdminAuthUrl()
88
  {
89
  $betterAnalyticsOptions = get_option('better_analytics');
@@ -118,6 +125,20 @@ class DigitalPointBetterAnalytics_Helper_Reporting extends DigitalPointBetterAna
118
  )
119
  );
120
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121
  elseif($action == 'PATCH')
122
  {
123
  $accessToken = $this->_urlInfo['params']['access_token'];
@@ -161,6 +182,10 @@ class DigitalPointBetterAnalytics_Helper_Reporting extends DigitalPointBetterAna
161
  {
162
  set_transient('ba_last_error', $data['error']['message'], 10);
163
  }
 
 
 
 
164
  }
165
 
166
  protected function _cacheDelete($cacheKey)
67
 
68
  protected function _deleteTokens()
69
  {
70
+ if (!$this->_overrideTokens)
71
+ {
72
+ DigitalPointBetterAnalytics_Base_Public::getInstance()->deleteTokens();
73
+ }
74
  }
75
 
76
  protected function _throwException()
77
  {
78
+ $this->_cacheSave('ba_last_error', esc_html__('No API tokens to refresh.', 'better-analytics'), 0.15); // 9 seconds
 
79
  return;
80
  }
81
 
86
  return;
87
  }
88
 
89
+ public function getCreateAccountMessage()
90
+ {
91
+ return sprintf(esc_html__('If you don\'t have a Google Analytics account, you can %1$screate one here%2$s. "Create an account" is on the upper right of that page.', 'better-analytics'), '<a href="http://www.google.com/analytics/" target="_blank">', '</a>');
92
+ }
93
+
94
  protected function _getAdminAuthUrl()
95
  {
96
  $betterAnalyticsOptions = get_option('better_analytics');
125
  )
126
  );
127
  }
128
+ elseif($action == 'INSERT')
129
+ {
130
+ $accessToken = $this->_urlInfo['params']['access_token'];
131
+ unset($this->_urlInfo['params']['access_token']);
132
+
133
+ $response = wp_remote_request($this->_urlInfo['url'] . '?access_token=' . urlencode($accessToken),
134
+ array(
135
+ 'method' => 'POST',
136
+ 'headers' => array('Content-Type' => 'application/json'),
137
+ 'body' => $this->_urlInfo['params']['body']
138
+ )
139
+ );
140
+ }
141
+
142
  elseif($action == 'PATCH')
143
  {
144
  $accessToken = $this->_urlInfo['params']['access_token'];
182
  {
183
  set_transient('ba_last_error', $data['error']['message'], 10);
184
  }
185
+ else
186
+ {
187
+ set_transient($cacheKey, $data, intval($minutes * 60));
188
+ }
189
  }
190
 
191
  protected function _cacheDelete($cacheKey)
library/DigitalPointBetterAnalytics/Helper/Reporting/Abstract.php CHANGED
@@ -8,10 +8,11 @@ abstract class DigitalPointBetterAnalytics_Helper_Reporting_Abstract
8
  protected static $_dataEndpoint = 'https://www.googleapis.com/analytics/v3/data/ga';
9
  protected static $_realtimeEndpoint = 'https://www.googleapis.com/analytics/v3/data/realtime';
10
 
11
- protected static $_webPropertiesEndpoint = 'https://www.googleapis.com/analytics/v3/management/accounts/%s/webproperties/';
12
 
13
- protected static $_profilesEndpoint = '%s/profiles';
14
- protected static $_dimensionsEndpoint = '%s/customDimensions';
 
15
 
16
  protected static $_curlHandles = array();
17
 
@@ -77,6 +78,8 @@ abstract class DigitalPointBetterAnalytics_Helper_Reporting_Abstract
77
 
78
  abstract protected function _showException($message);
79
 
 
 
80
  abstract protected function _getAdminAuthUrl();
81
 
82
  abstract protected function _initHttp($url);
@@ -187,11 +190,11 @@ abstract class DigitalPointBetterAnalytics_Helper_Reporting_Abstract
187
  {
188
  if ($profileId)
189
  {
190
- $url = sprintf(self::$_webPropertiesEndpoint . self::$_profilesEndpoint, $accountId, $profileId);
191
  }
192
  else
193
  {
194
- $url = sprintf(self::$_webPropertiesEndpoint, $accountId);
195
  }
196
 
197
  $this->_initHttp($url);
@@ -201,11 +204,10 @@ abstract class DigitalPointBetterAnalytics_Helper_Reporting_Abstract
201
 
202
  $profiles = json_decode($response, true);
203
 
204
- if (!empty($profiles['error']['errors']))
205
  {
206
- $this->_showException(@$profiles['error']['errors'][0]['domain'] . ' / ' . @$profiles['error']['errors'][0]['reason'] . ': ' . @$profiles['error']['errors'][0]['message'] . ' ' . @$profiles['error']['errors'][0]['extendedHelp']);
207
  }
208
-
209
  }
210
  }
211
  else
@@ -220,32 +222,160 @@ abstract class DigitalPointBetterAnalytics_Helper_Reporting_Abstract
220
  return $profiles;
221
  }
222
 
223
- public function patchProfile($accountId, $profileId, $fields = array())
224
  {
225
- $fields = json_encode($fields);
 
 
 
 
 
 
 
 
 
 
 
 
 
226
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
  if ($tokens = $this->checkAccessToken())
228
  {
229
- $url = sprintf(self::$_webPropertiesEndpoint . '%s', $accountId, $profileId);
 
 
230
 
231
  $this->_initHttp($url);
232
  $this->_setParamsAction(array(
233
  'access_token' => $tokens->access_token,
234
  'body' => $fields
235
  ));
236
- $response = $this->_execHandlerAction('PATCH');
237
 
238
- echo $url;
239
 
240
- echo 'RESULTS = ';
241
- print_r ($response);
242
 
 
 
 
243
 
244
- $profile = json_decode($response, true);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
245
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
246
 
 
 
 
 
247
  }
248
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
249
 
250
  public function getDimensions($accountId = '~all', $propertyId = '~all')
251
  {
@@ -253,9 +383,6 @@ abstract class DigitalPointBetterAnalytics_Helper_Reporting_Abstract
253
 
254
  $dimensions = $this->_cacheLoad($cacheKey);
255
 
256
- // Not caching dimensions (only 1 minute cache anyway)
257
- $dimensions = false;
258
-
259
  if (!$dimensions)
260
  {
261
  $fromCache = false;
@@ -264,11 +391,11 @@ abstract class DigitalPointBetterAnalytics_Helper_Reporting_Abstract
264
  {
265
  if ($propertyId)
266
  {
267
- $url = sprintf(self::$_webPropertiesEndpoint . self::$_dimensionsEndpoint, $accountId, $propertyId);
268
  }
269
  else
270
  {
271
- $url = sprintf(self::$_webPropertiesEndpoint, $accountId);
272
  }
273
 
274
  $this->_initHttp($url);
@@ -276,6 +403,8 @@ abstract class DigitalPointBetterAnalytics_Helper_Reporting_Abstract
276
 
277
  $response = $this->_execHandlerAction('GET');
278
 
 
 
279
  $dimensions = json_decode($response, true);
280
  }
281
  }
@@ -291,7 +420,11 @@ abstract class DigitalPointBetterAnalytics_Helper_Reporting_Abstract
291
  return $dimensions;
292
  }
293
 
294
-
 
 
 
 
295
 
296
 
297
  public function getDimensionsByPropertyId($accountId, $propertyId, $names)
@@ -316,7 +449,6 @@ abstract class DigitalPointBetterAnalytics_Helper_Reporting_Abstract
316
  }
317
 
318
 
319
-
320
  public function getProfileByPropertyId($propertyId)
321
  {
322
  $profiles = $this->getProfiles();
@@ -337,6 +469,27 @@ abstract class DigitalPointBetterAnalytics_Helper_Reporting_Abstract
337
  return $foundProfile;
338
  }
339
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
340
  // this is a little weird... getting profiles with ~all doesn't return industryVertical, but this does. Bug on their end?
341
  public function getPropertyByPropertyId($accountId, $propertyId)
342
  {
@@ -542,6 +695,34 @@ abstract class DigitalPointBetterAnalytics_Helper_Reporting_Abstract
542
  return $cacheKey;
543
  }
544
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
545
  protected function _canUseCurlMulti()
546
  {
547
  return false;
@@ -566,6 +747,8 @@ abstract class DigitalPointBetterAnalytics_Helper_Reporting_Abstract
566
  {
567
  $this->_currentHandle = $this->_execHandlerAction('GET');
568
 
 
 
569
  self::$_curlHandles[$cacheKey] = $this->_currentHandle;
570
  }
571
 
@@ -574,8 +757,8 @@ abstract class DigitalPointBetterAnalytics_Helper_Reporting_Abstract
574
  public function getResults($cacheKey)
575
  {
576
  $results = @json_decode(self::$_curlHandles[$cacheKey], true);
577
- $this->_cacheSave($cacheKey, $results, 60);
578
 
 
579
 
580
  if (!empty(self::$_cachedResults[$cacheKey]))
581
  {
@@ -620,4 +803,46 @@ abstract class DigitalPointBetterAnalytics_Helper_Reporting_Abstract
620
  'TRAVEL'
621
  );
622
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
623
  }
8
  protected static $_dataEndpoint = 'https://www.googleapis.com/analytics/v3/data/ga';
9
  protected static $_realtimeEndpoint = 'https://www.googleapis.com/analytics/v3/data/realtime';
10
 
11
+ protected static $_accountsEndpoint = 'https://www.googleapis.com/analytics/v3/management/accounts';
12
 
13
+ protected static $_webPropertiesEndpoint = '/%s/webproperties';
14
+ protected static $_profilesEndpoint = '/%s/profiles';
15
+ protected static $_dimensionsEndpoint = '/%s/customDimensions';
16
 
17
  protected static $_curlHandles = array();
18
 
78
 
79
  abstract protected function _showException($message);
80
 
81
+ abstract public function getCreateAccountMessage();
82
+
83
  abstract protected function _getAdminAuthUrl();
84
 
85
  abstract protected function _initHttp($url);
190
  {
191
  if ($profileId)
192
  {
193
+ $url = sprintf(self::$_accountsEndpoint . self::$_webPropertiesEndpoint . self::$_profilesEndpoint, $accountId, $profileId);
194
  }
195
  else
196
  {
197
+ $url = sprintf(self::$_accountsEndpoint . self::$_webPropertiesEndpoint, $accountId);
198
  }
199
 
200
  $this->_initHttp($url);
204
 
205
  $profiles = json_decode($response, true);
206
 
207
+ if ($this->_hasError($profiles))
208
  {
209
+ $fromCache = true;
210
  }
 
211
  }
212
  }
213
  else
222
  return $profiles;
223
  }
224
 
225
+ public function deleteProfileCache($accountId = '~all', $profileId = '~all')
226
  {
227
+ $cacheKey = 'ba_prof_' . md5($accountId . '-' . $profileId);
228
+ $this->_cacheDelete($cacheKey);
229
+ }
230
+
231
+
232
+ public function getAccounts()
233
+ {
234
+ $cacheKey = 'ba_accts';
235
+
236
+ $accounts = $this->_cacheLoad($cacheKey);
237
+
238
+ if (!$accounts)
239
+ {
240
+ $fromCache = false;
241
 
242
+ if ($tokens = $this->checkAccessToken())
243
+ {
244
+ $url = self::$_accountsEndpoint;
245
+
246
+ $this->_initHttp($url);
247
+ $this->_setParamsAction(array('access_token' => $tokens->access_token));
248
+
249
+ $response = $this->_execHandlerAction('GET');
250
+
251
+ $accounts = json_decode($response, true);
252
+
253
+ if ($this->_hasError($accounts))
254
+ {
255
+ $fromCache = true;
256
+ }
257
+ }
258
+ }
259
+ else
260
+ {
261
+ $fromCache = true;
262
+ }
263
+
264
+ if (!$fromCache)
265
+ {
266
+ $this->_cacheSave($cacheKey, $accounts, 15);
267
+ }
268
+ return $accounts;
269
+ }
270
+
271
+ public function insertWebProperty($accountId, $fields = array())
272
+ {
273
  if ($tokens = $this->checkAccessToken())
274
  {
275
+ $fields = json_encode($fields);
276
+
277
+ $url = sprintf(self::$_accountsEndpoint . self::$_webPropertiesEndpoint, $accountId);
278
 
279
  $this->_initHttp($url);
280
  $this->_setParamsAction(array(
281
  'access_token' => $tokens->access_token,
282
  'body' => $fields
283
  ));
 
284
 
285
+ $results = $this->_execHandlerAction('INSERT');
286
 
287
+ $this->_hasError($results);
 
288
 
289
+ return json_decode($results, true);
290
+ }
291
+ }
292
 
293
+ public function patchWebProperty($accountId, $webPropertyId, $fields = array())
294
+ {
295
+ if ($tokens = $this->checkAccessToken())
296
+ {
297
+ $fields = json_encode($fields);
298
+
299
+ $url = sprintf(self::$_accountsEndpoint . self::$_webPropertiesEndpoint . '/%s', $accountId, $webPropertyId);
300
+
301
+ $this->_initHttp($url);
302
+ $this->_setParamsAction(array(
303
+ 'access_token' => $tokens->access_token,
304
+ 'body' => $fields
305
+ ));
306
+
307
+ $results = $this->_execHandlerAction('PATCH');
308
+
309
+ $this->_hasError($results);
310
+
311
+ return json_decode($results, true);
312
  }
313
+ }
314
+
315
+ public function insertProfile($accountId, $webPropertyId, $fields = array())
316
+ {
317
+ if ($tokens = $this->checkAccessToken())
318
+ {
319
+ $fields = json_encode($fields);
320
+
321
+ $url = sprintf(self::$_accountsEndpoint . self::$_webPropertiesEndpoint . self::$_profilesEndpoint, $accountId, $webPropertyId);
322
+
323
+ $this->_initHttp($url);
324
+ $this->_setParamsAction(array(
325
+ 'access_token' => $tokens->access_token,
326
+ 'body' => $fields
327
+ ));
328
+
329
+ $results = $this->_execHandlerAction('INSERT');
330
 
331
+ $this->_hasError($results);
332
+
333
+ return json_decode($results, true);
334
+ }
335
  }
336
 
337
+ public function patchProfile($accountId, $webPropertyId, $profileId, $fields = array())
338
+ {
339
+ if ($tokens = $this->checkAccessToken())
340
+ {
341
+ $fields = json_encode($fields);
342
+ $url = sprintf(self::$_accountsEndpoint . self::$_webPropertiesEndpoint . self::$_profilesEndpoint . '/%s', $accountId, $webPropertyId, $profileId);
343
+
344
+ $this->_initHttp($url);
345
+ $this->_setParamsAction(array(
346
+ 'access_token' => $tokens->access_token,
347
+ 'body' => $fields
348
+ ));
349
+
350
+ $results = $this->_execHandlerAction('PATCH');
351
+
352
+ $this->_hasError($results);
353
+
354
+ return json_decode($results, true);
355
+ }
356
+ }
357
+
358
+ public function insertCustomDimension($accountId, $webPropertyId, $fields = array())
359
+ {
360
+ if ($tokens = $this->checkAccessToken())
361
+ {
362
+ $fields = json_encode($fields);
363
+
364
+ $url = sprintf(self::$_accountsEndpoint . self::$_webPropertiesEndpoint . self::$_dimensionsEndpoint, $accountId, $webPropertyId);
365
+
366
+ $this->_initHttp($url);
367
+ $this->_setParamsAction(array(
368
+ 'access_token' => $tokens->access_token,
369
+ 'body' => $fields
370
+ ));
371
+
372
+ $results = $this->_execHandlerAction('INSERT');
373
+
374
+ $this->_hasError($results);
375
+
376
+ return json_decode($results, true);
377
+ }
378
+ }
379
 
380
  public function getDimensions($accountId = '~all', $propertyId = '~all')
381
  {
383
 
384
  $dimensions = $this->_cacheLoad($cacheKey);
385
 
 
 
 
386
  if (!$dimensions)
387
  {
388
  $fromCache = false;
391
  {
392
  if ($propertyId)
393
  {
394
+ $url = sprintf(self::$_accountsEndpoint . self::$_webPropertiesEndpoint . self::$_dimensionsEndpoint, $accountId, $propertyId);
395
  }
396
  else
397
  {
398
+ $url = sprintf(self::$_accountsEndpoint . self::$_webPropertiesEndpoint, $accountId);
399
  }
400
 
401
  $this->_initHttp($url);
403
 
404
  $response = $this->_execHandlerAction('GET');
405
 
406
+ $this->_hasError($response);
407
+
408
  $dimensions = json_decode($response, true);
409
  }
410
  }
420
  return $dimensions;
421
  }
422
 
423
+ public function deleteDimensionCache($accountId = '~all', $propertyId = '~all')
424
+ {
425
+ $cacheKey = 'ba_dim_' . md5($accountId . '-' . $propertyId);
426
+ $this->_cacheDelete($cacheKey);
427
+ }
428
 
429
 
430
  public function getDimensionsByPropertyId($accountId, $propertyId, $names)
449
  }
450
 
451
 
 
452
  public function getProfileByPropertyId($propertyId)
453
  {
454
  $profiles = $this->getProfiles();
469
  return $foundProfile;
470
  }
471
 
472
+ public function getProfileByProfileId($profileId)
473
+ {
474
+ $profiles = $this->getProfiles();
475
+
476
+ $foundProfile = null;
477
+ if(!empty($profiles['items']))
478
+ {
479
+ foreach ($profiles['items'] as $profile)
480
+ {
481
+ if ($profile['id'] == $profileId)
482
+ {
483
+ $foundProfile = $profile;
484
+ break;
485
+ }
486
+ }
487
+ }
488
+
489
+ return $foundProfile;
490
+ }
491
+
492
+
493
  // this is a little weird... getting profiles with ~all doesn't return industryVertical, but this does. Bug on their end?
494
  public function getPropertyByPropertyId($accountId, $propertyId)
495
  {
695
  return $cacheKey;
696
  }
697
 
698
+ protected function _hasError($results, $deleteTokens = true)
699
+ {
700
+ if (!empty($results['error']['errors']))
701
+ {
702
+ $extraMessage = '';
703
+
704
+ if ($this->checkApiErrorType($results, 'noCredentials'))
705
+ {
706
+ if ($deleteTokens)
707
+ {
708
+ $this->_deleteTokens();
709
+ }
710
+ if ($results['error']['code'] == 403)
711
+ {
712
+ $extraMessage = $this->getCreateAccountMessage();
713
+ }
714
+ }
715
+
716
+ $this->_showException(@$results['error']['errors'][0]['domain'] . ' / ' . @$results['error']['errors'][0]['reason'] . ': ' . @$results['error']['errors'][0]['message'] . ' ' . @$results['error']['errors'][0]['extendedHelp'] . ($extraMessage ? '<br /><br />' . $extraMessage : ''));
717
+
718
+ return true;
719
+ }
720
+
721
+ return false;
722
+ }
723
+
724
+
725
+
726
  protected function _canUseCurlMulti()
727
  {
728
  return false;
747
  {
748
  $this->_currentHandle = $this->_execHandlerAction('GET');
749
 
750
+ $this->_hasError($this->_currentHandle);
751
+
752
  self::$_curlHandles[$cacheKey] = $this->_currentHandle;
753
  }
754
 
757
  public function getResults($cacheKey)
758
  {
759
  $results = @json_decode(self::$_curlHandles[$cacheKey], true);
 
760
 
761
+ $this->_cacheSave($cacheKey, $results, 60);
762
 
763
  if (!empty(self::$_cachedResults[$cacheKey]))
764
  {
803
  'TRAVEL'
804
  );
805
  }
806
+
807
+ protected function _getGoogleErrors()
808
+ {
809
+ // see: https://developers.google.com/analytics/devguides/reporting/core/v3/coreErrors
810
+ return array(
811
+ 'noCredentials' => array(
812
+ 'invalidCredentials' => 401,
813
+ 'insufficientPermissions' => 403,
814
+ ),
815
+ 'noQuota' => array(
816
+ 'dailyLimitExceeded' => 403,
817
+ 'usageLimits.userRateLimitExceededUnreg' => 403,
818
+ 'userRateLimitExceeded' => 403,
819
+ 'quotaExceeded' => 403,
820
+ ),
821
+ 'other' => array(
822
+ 'invalidParameter' => 400,
823
+ 'badRequest' => 400,
824
+ 'backendError' => 503,
825
+
826
+ )
827
+ );
828
+ }
829
+
830
+ public function checkApiErrorType($results, $type)
831
+ {
832
+ $errors = $this->_getGoogleErrors();
833
+
834
+ if (!empty($results['error']))
835
+ {
836
+ if (isset($errors[$type][@$results['error']['errors'][0]['reason']]))
837
+ {
838
+ if ($errors[$type][@$results['error']['errors'][0]['reason']] == @$results['error']['code'])
839
+ {
840
+ return true;
841
+ }
842
+ }
843
+ }
844
+
845
+ return false;
846
+ }
847
+
848
  }
library/DigitalPointBetterAnalytics/Helper/Reporting/Advanced.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- abstract class DigitalPointBetterAnalytics_Helper_Reporting_Advanced extends DigitalPointBetterAnalytics_Helper_Reporting_Abstract
4
  {
5
 
6
  }
1
  <?php
2
 
3
+ abstract class DigitalPointBetterAnalytics_Helper_Reporting_Advanced extends DigitalPointBetterAnalytics_Helper_Reporting_Ecommerce
4
  {
5
 
6
  }
library/DigitalPointBetterAnalytics/Helper/Reporting/Ecommerce.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?php
2
+
3
+ abstract class DigitalPointBetterAnalytics_Helper_Reporting_Ecommerce extends DigitalPointBetterAnalytics_Helper_Reporting_Abstract
4
+ {
5
+
6
+ }
library/DigitalPointBetterAnalytics/Model/Reporting.php CHANGED
@@ -4,7 +4,7 @@ class DigitalPointBetterAnalytics_Model_Reporting
4
  {
5
  public static function getMetrics()
6
  {
7
- return array(
8
  __('User', 'better-analytics') => array(
9
  'ga:users' => __('Users', 'better-analytics'),
10
  'ga:newUsers' => __('New Users', 'better-analytics'),
@@ -74,7 +74,6 @@ class DigitalPointBetterAnalytics_Model_Reporting
74
  'ga:totalEvents|ga:eventCategory==Error;ga:eventAction==AJAX' => __('AJAX Errors', 'better-analytics'),
75
  'ga:totalEvents|ga:eventCategory==Error;ga:eventAction==Browser Console' => __('Browser Console Errors', 'better-analytics'),
76
  'ga:totalEvents|ga:eventCategory==Error;ga:eventAction=~^YouTube' => __('YouTube Errors', 'better-analytics'),
77
-
78
  'ga:totalEvents|ga:eventCategory==Advertisement;ga:eventAction==Click' => __('Advertisement Clicked', 'better-analytics'),
79
 
80
  ),
@@ -108,6 +107,8 @@ class DigitalPointBetterAnalytics_Model_Reporting
108
  'ga:adsenseCoverage' => __('Coverage', 'better-analytics'),
109
  )
110
  );
 
 
111
  }
112
 
113
  public static function getMetricNameByKey($metric)
@@ -128,7 +129,7 @@ class DigitalPointBetterAnalytics_Model_Reporting
128
 
129
  public static function getSegments()
130
  {
131
- return array(
132
  __('Default Segments', 'better-analytics') => array(
133
  '' => __('Everything', 'better-analytics'),
134
  'gaid::-1' => __('All Sessions', 'better-analytics'),
@@ -161,11 +162,14 @@ class DigitalPointBetterAnalytics_Model_Reporting
161
 
162
  )
163
  );
 
 
 
164
  }
165
 
166
  public static function getDimensions()
167
  {
168
- return array(
169
  __('User', 'better-analytics') => array(
170
  'userType' => __('User Type', 'better-analytics'),
171
  'sessionCount' => __('Session Count', 'better-analytics'),
@@ -245,6 +249,9 @@ class DigitalPointBetterAnalytics_Model_Reporting
245
  'interestOtherCategory' => __('Interest Other', 'better-analytics'),
246
  ),
247
  );
 
 
 
248
  }
249
 
250
  public static function parseDimensions($dimensions)
@@ -259,4 +266,20 @@ class DigitalPointBetterAnalytics_Model_Reporting
259
  }
260
  return $output;
261
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
262
  }
4
  {
5
  public static function getMetrics()
6
  {
7
+ $metrics = array(
8
  __('User', 'better-analytics') => array(
9
  'ga:users' => __('Users', 'better-analytics'),
10
  'ga:newUsers' => __('New Users', 'better-analytics'),
74
  'ga:totalEvents|ga:eventCategory==Error;ga:eventAction==AJAX' => __('AJAX Errors', 'better-analytics'),
75
  'ga:totalEvents|ga:eventCategory==Error;ga:eventAction==Browser Console' => __('Browser Console Errors', 'better-analytics'),
76
  'ga:totalEvents|ga:eventCategory==Error;ga:eventAction=~^YouTube' => __('YouTube Errors', 'better-analytics'),
 
77
  'ga:totalEvents|ga:eventCategory==Advertisement;ga:eventAction==Click' => __('Advertisement Clicked', 'better-analytics'),
78
 
79
  ),
107
  'ga:adsenseCoverage' => __('Coverage', 'better-analytics'),
108
  )
109
  );
110
+
111
+ return apply_filters('better_analytics_metrics', $metrics);
112
  }
113
 
114
  public static function getMetricNameByKey($metric)
129
 
130
  public static function getSegments()
131
  {
132
+ $segments = array(
133
  __('Default Segments', 'better-analytics') => array(
134
  '' => __('Everything', 'better-analytics'),
135
  'gaid::-1' => __('All Sessions', 'better-analytics'),
162
 
163
  )
164
  );
165
+
166
+ return apply_filters('better_analytics_segments', $segments);
167
+
168
  }
169
 
170
  public static function getDimensions()
171
  {
172
+ $dimensions = array(
173
  __('User', 'better-analytics') => array(
174
  'userType' => __('User Type', 'better-analytics'),
175
  'sessionCount' => __('Session Count', 'better-analytics'),
249
  'interestOtherCategory' => __('Interest Other', 'better-analytics'),
250
  ),
251
  );
252
+
253
+ return apply_filters('better_analytics_dimensions', $dimensions);
254
+
255
  }
256
 
257
  public static function parseDimensions($dimensions)
266
  }
267
  return $output;
268
  }
269
+
270
+ public static function parseAccounts($accounts, $editableOnly = false)
271
+ {
272
+ $output = array();
273
+ if (@$accounts['items'])
274
+ {
275
+ foreach($accounts['items'] as $account)
276
+ {
277
+ if (!$editableOnly || array_search('EDIT', $account['permissions']['effective']) !== false)
278
+ {
279
+ $output[$account['id']] = $account['name'];
280
+ }
281
+ }
282
+ }
283
+ return $output;
284
+ }
285
  }
library/DigitalPointBetterAnalytics/ViewAdmin/config.php CHANGED
@@ -381,7 +381,6 @@
381
  ?></p>
382
  </th>
383
  <td>
384
-
385
  <fieldset>
386
  <div style="display:table">
387
  <div style="display:table-row">
@@ -389,7 +388,7 @@
389
  <label
390
  for="ba_dimension_category"><?php esc_html_e('Categories: ', 'better-analytics');?></label>
391
  </div>
392
- <div style="display:table-cell">
393
  <?php
394
 
395
  if ($dimensions)
@@ -421,7 +420,7 @@
421
  <label
422
  for="ba_dimension_author"><?php esc_html_e('Author: ', 'better-analytics');?></label>
423
  </div>
424
- <div style="display:table-cell">
425
 
426
  <?php
427
 
@@ -455,7 +454,7 @@
455
  <label
456
  for="ba_dimension_tags"><?php esc_html_e('Tags: ', 'better-analytics');?></label>
457
  </div>
458
- <div style="display:table-cell">
459
 
460
  <?php
461
 
@@ -489,7 +488,7 @@
489
  <label
490
  for="ba_dimension_year"><?php esc_html_e('Publication Year: ', 'better-analytics');?></label>
491
  </div>
492
- <div style="display:table-cell">
493
 
494
  <?php
495
 
@@ -523,7 +522,7 @@
523
  <label
524
  for="ba_dimension_role"><?php esc_html_e('User Role: ', 'better-analytics');?></label>
525
  </div>
526
- <div style="display:table-cell">
527
 
528
  <?php
529
 
@@ -557,7 +556,7 @@
557
  <label
558
  for="ba_dimension_user"><?php esc_html_e('Registered User: ', 'better-analytics');?></label>
559
  </div>
560
- <div style="display:table-cell">
561
 
562
  <?php
563
 
@@ -796,6 +795,12 @@
796
  else
797
  {
798
  $multisiteMode = false;
 
 
 
 
 
 
799
  ?>
800
 
801
  <a id="ba_select_profile" class="button" href="<?php menu_page_url('better-analytics_auth'); ?>"><?php
381
  ?></p>
382
  </th>
383
  <td>
 
384
  <fieldset>
385
  <div style="display:table">
386
  <div style="display:table-row">
388
  <label
389
  for="ba_dimension_category"><?php esc_html_e('Categories: ', 'better-analytics');?></label>
390
  </div>
391
+ <div style="display:table-cell;width:50%;">
392
  <?php
393
 
394
  if ($dimensions)
420
  <label
421
  for="ba_dimension_author"><?php esc_html_e('Author: ', 'better-analytics');?></label>
422
  </div>
423
+ <div style="display:table-cell;width:50%;">
424
 
425
  <?php
426
 
454
  <label
455
  for="ba_dimension_tags"><?php esc_html_e('Tags: ', 'better-analytics');?></label>
456
  </div>
457
+ <div style="display:table-cell;width:50%;">
458
 
459
  <?php
460
 
488
  <label
489
  for="ba_dimension_year"><?php esc_html_e('Publication Year: ', 'better-analytics');?></label>
490
  </div>
491
+ <div style="display:table-cell;width:50%;">
492
 
493
  <?php
494
 
522
  <label
523
  for="ba_dimension_role"><?php esc_html_e('User Role: ', 'better-analytics');?></label>
524
  </div>
525
+ <div style="display:table-cell;width:50%;">
526
 
527
  <?php
528
 
556
  <label
557
  for="ba_dimension_user"><?php esc_html_e('Registered User: ', 'better-analytics');?></label>
558
  </div>
559
+ <div style="display:table-cell;width:50%;">
560
 
561
  <?php
562
 
795
  else
796
  {
797
  $multisiteMode = false;
798
+
799
+ if (!get_option('ba_tokens'))
800
+ {
801
+ echo DigitalPointBetterAnalytics_Helper_Reporting::getInstance()->getCreateAccountMessage() . '<br /><br />';
802
+ }
803
+
804
  ?>
805
 
806
  <a id="ba_select_profile" class="button" href="<?php menu_page_url('better-analytics_auth'); ?>"><?php
library/DigitalPointBetterAnalytics/ViewAdmin/test.php CHANGED
@@ -3,30 +3,40 @@
3
 
4
  $betterAnalyticsOptions = get_option('better_analytics');
5
 
6
- if (DigitalPointBetterAnalytics_Helper_Reporting::getInstance()->checkAccessToken(false))
 
 
 
 
 
 
 
 
 
7
  {
8
- $checks['profiles'] = DigitalPointBetterAnalytics_Helper_Reporting::getInstance()->getProfiles();
9
- $checks['matchingProfile'] = DigitalPointBetterAnalytics_Helper_Reporting::getInstance()->getProfileByPropertyId($betterAnalyticsOptions['property_id']);
 
10
 
11
  $checks['siteSearchSetup'] = @$checks['matchingProfile']['siteSearchQueryParameters'] == 's';
12
  $checks['ecommerceTracking'] = @$checks['matchingProfile']['eCommerceTracking'];
13
  $checks['enhancedEcommerceTracking'] = @$checks['matchingProfile']['enhancedECommerceTracking'];
14
 
15
- $property = DigitalPointBetterAnalytics_Helper_Reporting::getInstance()->getPropertyByPropertyId(@$checks['matchingProfile']['accountId'], $betterAnalyticsOptions['property_id']);
16
 
17
  $checks['level'] = @$property['level'];
18
  $checks['industryVertical'] = @$property['industryVertical'];
19
 
20
- $checks['dimensions'] = DigitalPointBetterAnalytics_Helper_Reporting::getInstance()->getDimensionsByPropertyId(@$checks['matchingProfile']['accountId'], $betterAnalyticsOptions['property_id'], array('Categories', 'Author', 'Tags', 'Year', 'Role', 'User'));
21
  }
22
 
23
  $checks['licensed'] = DigitalPointBetterAnalytics_Helper_Api::check(true);
24
 
25
  if ($code = sanitize_text_field(@$_REQUEST['code']))
26
  {
27
- if (!$property)
28
  {
29
- echo 'You need to first link a Google Analytics account and pick a profile to auto-configure it.';
30
  }
31
  elseif (empty($_REQUEST['vertical']))
32
  {
@@ -35,390 +45,602 @@
35
 
36
  wp_enqueue_script('better-analytics_admin_js', BETTER_ANALYTICS_PLUGIN_URL . 'assets/digitalpoint/js/admin.js', array(), BETTER_ANALYTICS_VERSION );
37
 
38
- $verticals = DigitalPointBetterAnalytics_Helper_Reporting::getInstance()->getIndustryVerticals();
39
-
40
-
41
- echo '<div class="wrap test-configure">
42
-
43
- <h2>' . esc_html__( 'Auto-Configure' , 'better-analytics') . '</h2>';
44
-
45
- esc_html_e( 'Please select the industry vertical that you wish your site to be assigned to.' , 'better-analytics');
46
 
47
- echo '<form action="' . esc_url(menu_page_url('better-analytics_test', false)) . '" method="POST" style="padding:15px">
48
- <input type="hidden" name="code" value="' . htmlentities($_REQUEST['code']) .'">';
49
-
50
- echo '<select name="vertical" data-placeholder="' . esc_html__('Pick industry vertical', 'better-analytics') . '" id="ba_pick_vertical" class="chosen-select">';
51
-
52
- foreach ($verticals as $vertical)
53
  {
54
- echo '<option' . ($vertical == $property['industryVertical'] ? ' selected="selected"' : '') . '>' . htmlentities($vertical) . '</option>';
 
 
 
 
 
 
 
 
 
 
 
55
  }
56
- echo '</select><p>';
57
-
58
- esc_html_e('Only use this option if you are sure you want to auto-configure everything. This will perform the following actions:', 'better-analytics');
59
- echo '<ul style="list-style: initial;padding-left:30px;">';
60
- echo '<li>' . sprintf(esc_html__('Set Site Search Query Parameter to %s on Analytics account', 'better-analytics'), '<strong>"q"</strong>') . '</li>';
61
- echo '<li>' . esc_html__('Enable Ecommerce options on Analytics account', 'better-analytics') . '</li>';
62
- echo '<li>' . esc_html__('Set Industry Vertical on Analytics account', 'better-analytics') . '</li>';
63
- echo '<li>' . sprintf(esc_html__('Create 6 custom dimensions for this Analytics property if they do not already exist (%s)', 'better-analytics'), 'Categories, Author, Tags, Year, Role, User') . '</li>';
64
- echo '<li>' . esc_html__('Map the 6 custom dimensions in your Better Analytics settings', 'better-analytics') . '</li>';
65
- echo '</ul></p>';
66
-
67
- submit_button(esc_html__('Auto-Configure', 'better-analytics'));
68
-
69
- echo '</form>';
70
- }
71
- elseif($_SERVER['REQUEST_METHOD'] == 'POST')
72
- {
73
- $vertical = sanitize_text_field($_REQUEST['vertical']);
74
-
75
- $tokens = DigitalPointBetterAnalytics_Helper_Reporting::getInstance()->exchangeCodeForToken($code);
76
-
77
- DigitalPointBetterAnalytics_Helper_Reporting::getInstance()->overrideTokens($tokens);
78
-
79
- DigitalPointBetterAnalytics_Helper_Reporting::getInstance()->patchProfile($property['accountId'], $property['id'], array('industryVertical' => $vertical));
80
-
81
- //print_r ($tokens);
82
- }
83
 
 
84
 
 
85
 
86
- }
 
 
87
 
88
- // <a href="<?php echo DigitalPointBetterAnalytics_Helper_Reporting::getInstance()->getAuthenticationUrl(esc_url(menu_page_url('better-analytics_test', false)), true, 'online'); ">Auto-Configure</a>
 
89
 
90
- ?>
 
 
91
 
 
92
 
93
- <div class="wrap">
 
 
 
 
 
94
 
95
- <h2><?php esc_html_e( 'Test Analytics Integration' , 'better-analytics');?></h2>
96
 
97
- <table class="form-table" id="ba_test">
98
- <?php esc_html_e( 'This is a checklist of things for full integration with Google Analytics. You can click on any of the titles to be taken where you need to go to configure that item.' , 'better-analytics');?>
99
 
100
- <tr><td colspan="3"><h3><?php esc_html_e( 'Things That Can Be Automatically Checked' , 'better-analytics');?></h3></td></tr>
 
 
 
 
101
 
102
- <tr valign="top">
103
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#general', esc_html__('Web Property ID Defined', 'better-analytics'));?></th>
104
- <?php
105
- echo ($betterAnalyticsOptions['property_id'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
106
- ?>
107
- <td></td>
108
- </tr>
109
 
110
- <tr valign="top">
 
 
 
 
 
 
 
 
 
111
 
112
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://php.net/manual/en/curl.installation.php', esc_html__('cURL Installed', 'better-analytics'));?></th>
113
 
114
- <?php
115
- echo (function_exists('curl_multi_init') ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
116
- ?>
117
- <td class="description">
118
- <?php esc_html_e('Not required, but recommended to have the cURL extensions enabled in PHP.', 'better-analytics');?>
119
- </td>
120
- </tr>
121
-
122
- <?php
123
- // not really needed since most people will not use their own project credentials
124
- /*
125
- ?>
126
- <tr valign="top">
127
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#api', esc_html__('API Project Credentials', 'better-analytics'));?></th>
128
- <?php
129
- echo ($betterAnalyticsOptions['api']['client_id'] && $betterAnalyticsOptions['api']['client_secret'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
130
- ?>
131
- <td>
132
- </td>
133
- </tr>
134
- */
135
- ?>
136
 
137
- <tr valign="top">
138
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#api', esc_html__('Google Analytics Account Linked', 'better-analytics'));?></th>
139
- <?php
140
- echo (DigitalPointBetterAnalytics_Base_Public::getInstance()->getTokens() ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
141
- ?>
142
- </tr>
 
 
143
 
144
- <tr valign="top">
145
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#api', esc_html__('Analytics Profile Selected', 'better-analytics'));?></th>
146
- <?php
147
- echo ($betterAnalyticsOptions['api']['profile'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
148
- ?>
149
- </tr>
150
 
151
- <tr valign="top">
152
 
153
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Site Search Setup', 'better-analytics'));?></th>
154
- <?php
155
- echo (@$checks['siteSearchSetup'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
156
- ?>
157
- <td class="description">
158
- <?php
159
- /* translators: %1$s = <strong>, %2$s = </strong> */
160
- printf(__('Found in Google Analytics account under %1$sView Settings -> Query Parameter%2$s (should be set to "%1$ss%2$s").', 'better-analytics'), '<strong>', '</strong>');
161
- ?>
162
- </td>
163
- </tr>
164
 
165
- <tr valign="top">
166
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Ecommerce Tracking Enabled', 'better-analytics'));?></th>
167
- <?php
168
- echo (@$checks['ecommerceTracking'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
169
- ?>
170
- <td class="description">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
171
 
172
- <?php
173
- /* translators: %1$s = <strong>, %2$s = </strong> */
174
- printf(__('Found in Google Analytics account under %1$sEcommerce Settings%2$s.', 'better-analytics'), '<strong>', '</strong>');
175
- ?>
176
- </td>
177
- </tr>
 
 
 
 
 
 
 
 
 
 
 
178
 
179
- <tr valign="top">
180
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Enhanced Ecommerce Tracking Enabled', 'better-analytics'));?></th>
181
- <?php
182
- echo (@$checks['enhancedEcommerceTracking'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
183
- ?>
184
- <td class="description">
185
- <?php
186
- /* translators: %1$s = <strong>, %2$s = </strong> */
187
- printf(esc_html__('Found in Google Analytics account under %1$sEcommerce Settings%2$s.', 'better-analytics'), '<strong>', '</strong>');
188
- ?>
189
- </td>
190
- </tr>
191
 
192
- <tr valign="top">
193
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Industry Vertical Set', 'better-analytics'));?></th>
194
- <?php
195
- echo (!empty($checks['industryVertical']) && $checks['industryVertical'] != 'UNSPECIFIED' ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
196
- ?>
197
- <td class="description">
198
- <?php
199
- /* translators: %1$s = <strong>, %2$s = </strong>, %3$s = current setting in Google Analytics account */
200
- printf(esc_html__('Found in Google Analytics account under %1$sProperty Settings%2$s (currently set to %1$s%3$s%2$s).', 'better-analytics'), '<strong>', '</strong>', ($checks['industryVertical'] ? $checks['industryVertical'] : 'UNSPECIFIED'));
201
- ?>
202
- </td>
203
- </tr>
204
 
205
- <tr valign="top">
206
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Custom Dimension For Category Tracking', 'better-analytics'));?></th>
207
- <?php
208
- echo (!empty($checks['dimensions']['Categories']) ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
209
- ?>
210
- <td class="description">
211
- <?php
212
- /* translators: %1$s = <strong>, %2$s = </strong> ... %3$s can't be translated - leave */
213
- printf(esc_html__('Found in Google Analytics account under %1$sCustom Definitions -> Custom Dimensions%2$s (should be named "%1$s%3$s%2$s" and scoped for "%1$sHit%2$s").', 'better-analytics'), '<strong>', '</strong>', 'Categories');
214
- ?>
215
- </td>
216
- </tr>
217
 
218
- <tr valign="top">
219
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Custom Dimension For Author Tracking', 'better-analytics'));?></th>
220
- <?php
221
- echo (!empty($checks['dimensions']['Author']) ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
222
- ?>
223
 
224
- <td class="description">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
225
 
226
- <?php
227
- /* translators: %1$s = <strong>, %2$s = </strong> ... %3$s can't be translated - leave */
228
- printf(esc_html__('Found in Google Analytics account under %1$sCustom Definitions -> Custom Dimensions%2$s (should be named "%1$s%3$s%2$s" and scoped for "%1$sHit%2$s").', 'better-analytics'), '<strong>', '</strong>', 'Author');
229
- ?>
230
- </td>
231
- </tr>
232
 
233
- <tr valign="top">
234
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Custom Dimension For Tag Tracking', 'better-analytics'));?></th>
235
- <?php
236
- echo (!empty($checks['dimensions']['Tags']) ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
237
- ?>
238
- <td class="description">
239
- <?php
240
- /* translators: %1$s = <strong>, %2$s = </strong> ... %3$s can't be translated - leave */
241
- printf(esc_html__('Found in Google Analytics account under %1$sCustom Definitions -> Custom Dimensions%2$s (should be named "%1$s%3$s%2$s" and scoped for "%1$sHit%2$s").', 'better-analytics'), '<strong>', '</strong>', 'Tags');
242
- ?>
243
- </td>
244
- </tr>
245
 
246
- <tr valign="top">
247
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Custom Dimension For Publication Year Tracking', 'better-analytics'));?></th>
248
- <?php
249
- echo (!empty($checks['dimensions']['Year']) ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
250
- ?>
251
- <td class="description">
252
 
253
- <?php
254
- /* translators: %1$s = <strong>, %2$s = </strong> ... %3$s can't be translated - leave */
255
- printf(esc_html__('Found in Google Analytics account under %1$sCustom Definitions -> Custom Dimensions%2$s (should be named "%1$s%3$s%2$s" and scoped for "%1$sHit%2$s").', 'better-analytics'), '<strong>', '</strong>', 'Year');
256
- ?>
257
- </td>
258
- </tr>
259
 
260
- <tr valign="top">
261
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Custom Dimension For User Role Tracking', 'better-analytics'));?></th>
262
- <?php
263
- echo (!empty($checks['dimensions']['Role']) ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
264
- ?>
265
- <td class="description">
266
 
267
- <?php
268
- /* translators: %1$s = <strong>, %2$s = </strong> ... %3$s can't be translated - leave */
269
- printf(esc_html__('Found in Google Analytics account under %1$sCustom Definitions -> Custom Dimensions%2$s (should be named "%1$s%3$s%2$s" and scoped for "%1$sHit%2$s").', 'better-analytics'), '<strong>', '</strong>', 'Role');
270
- ?>
271
- </td>
272
- </tr>
273
 
 
 
 
 
 
274
 
 
 
 
 
 
 
 
275
 
276
- <tr valign="top">
277
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Custom Dimension For User Tracking', 'better-analytics'));?></th>
278
- <?php
279
- echo (!empty($checks['dimensions']['User']) ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
280
- ?>
281
- <td class="description">
282
 
283
- <?php
284
- /* translators: %1$s = <strong>, %2$s = </strong> ... %3$s can't be translated - leave */
285
- printf(esc_html__('Found in Google Analytics account under %1$sCustom Definitions -> Custom Dimensions%2$s (should be named "%1$s%3$s%2$s" and scoped for "%1$sHit%2$s").', 'better-analytics'), '<strong>', '</strong>', 'User');
286
- ?>
287
- </td>
288
- </tr>
289
 
290
- <tr valign="top">
 
 
 
 
 
 
291
 
292
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#dimensions', esc_html__('Category Tracking Dimension Index Set', 'better-analytics'));?></th>
293
  <?php
294
- echo (@$betterAnalyticsOptions['dimension']['category'] > 0 && @$checks['dimensions']['Categories']['index'] == $betterAnalyticsOptions['dimension']['category'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
 
295
  ?>
296
- <td></td>
297
- </tr>
298
-
299
- <tr valign="top">
300
-
301
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#dimensions', esc_html__('Author Tracking Dimension Index Set', 'better-analytics'));?></th>
302
- <?php
303
- echo (@$betterAnalyticsOptions['dimension']['author'] > 0 && @$checks['dimensions']['Author']['index'] == $betterAnalyticsOptions['dimension']['author'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
 
304
  ?>
305
- <td></td>
306
- </tr>
307
 
308
- <tr valign="top">
309
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#dimensions', esc_html__('Tag Tracking Dimension Index Set', 'better-analytics'));?></th>
310
- <?php
311
- echo (@$betterAnalyticsOptions['dimension']['tag'] > 0 && @$checks['dimensions']['Tags']['index'] == $betterAnalyticsOptions['dimension']['tag'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
312
- ?>
313
- <td></td>
314
- </tr>
315
 
316
- <tr valign="top">
317
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#dimensions', esc_html__('Publication Year Tracking Dimension Index Set', 'better-analytics'));?></th>
318
  <?php
319
- echo (@$betterAnalyticsOptions['dimension']['year'] > 0 && @$checks['dimensions']['Year']['index'] == $betterAnalyticsOptions['dimension']['year'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
320
- ?>
321
- <td></td>
322
- </tr>
323
-
324
- <tr valign="top">
325
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#dimensions', esc_html__('User Role Tracking Dimension Index Set', 'better-analytics'));?></th>
 
 
326
  <?php
327
- echo (@$betterAnalyticsOptions['dimension']['role'] > 0 && @$checks['dimensions']['Role']['index'] == $betterAnalyticsOptions['dimension']['role'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
328
  ?>
329
- <td></td>
330
- </tr>
331
 
332
-
333
- <tr valign="top">
334
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#dimensions', esc_html__('Registered User Tracking Dimension Index Set', 'better-analytics'));?></th>
335
- <?php
336
- echo (@$betterAnalyticsOptions['dimension']['user'] > 0 && @$checks['dimensions']['User']['index'] == $betterAnalyticsOptions['dimension']['user'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
337
- ?>
338
- <td></td>
339
- </tr>
340
-
341
- <tr valign="top">
342
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', BETTER_ANALYTICS_PRO_PRODUCT_URL . '#utm_source=admin_test&utm_medium=wordpress&utm_campaign=plugin', esc_html__('Better Analytics Pro License', 'better-analytics'));?></th>
343
- <?php
344
- echo ($checks['licensed'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
345
- ?>
346
- <td class="description">
347
- <?php esc_html_e('A few extra advanced features are available when you license the Better Analytics Pro plugin. Please don\'t steal, a crazy amount of work went into this. Some of the extra features:', 'better-analytics'); ?>
348
- <ul>
349
- <li>
350
- <?php
351
- printf(esc_html__('More metrics available for %1$sHeat Maps%2$s', 'better_analytics'), '<a href="' . esc_url(menu_page_url('better-analytics_heatmaps', false)) . '" target="_blank">', '</a>');
352
- ?>
353
- </li>
354
- <li>
355
  <?php
356
- printf(esc_html__('More dimensions available for %1$sCharts%2$s', 'better_analytics'), '<a href="' . esc_url(menu_page_url('better-analytics_areacharts', false)) . '" target="_blank">', '</a>');
357
  ?>
358
- </li>
359
- <li>
 
 
 
 
 
 
 
 
360
  <?php
361
- printf(esc_html__('More %1$sadvertising platform click tracking%2$s', 'better_analytics'), '<a href="' . esc_url(menu_page_url('better-analytics', false) . '#top#advertising') . '" target="_blank">', '</a>');
 
362
  ?>
363
- </li>
364
- <li>
 
 
 
 
 
 
 
 
365
  <?php
366
- printf(esc_html__('More %1$sissue monitoring options%2$s', 'better_analytics'), '<a href="' . esc_url(menu_page_url('better-analytics', false) . '#top#monitor') . '" target="_blank">', '</a>');
 
367
  ?>
368
- </li>
369
- <li>
 
 
 
 
 
 
 
370
  <?php
371
- printf(esc_html__('%1$seCommerce tracking%2$s', 'better_analytics'), '<a href="' . esc_url(menu_page_url('better-analytics', false) . '#top#ecommerce') . '" target="_blank">', '</a>');
 
372
  ?>
373
- </li>
374
- <li>
 
 
 
 
 
 
 
375
  <?php
376
- printf(esc_html__('Ability to do %1$sserver-side tracking of users%2$s', 'better_analytics'), '<a href="' . esc_url(menu_page_url('better-analytics', false) . '#top#advanced') . '" target="_blank">', '</a>');
 
377
  ?>
378
- </li>
379
- <li>
 
 
 
 
 
 
 
380
  <?php
381
- esc_html_e('Faster API calls (utilizes a multi-threaded mechanism)', 'better_analytics');
 
382
  ?>
383
- </li>
384
- <li>
 
 
 
 
 
 
 
 
385
  <?php
386
- printf(esc_html__('%1$sPriority support%2$s', 'better_analytics'), '<a href="' . esc_url(BETTER_ANALYTICS_SUPPORT_URL . '#utm_source=admin_test&utm_medium=wordpress&utm_campaign=plugin') . '" target="_blank">', '</a>');
 
387
  ?>
388
- </li>
389
- <li>
 
 
 
 
 
 
 
390
  <?php
391
- esc_html_e('A Warm & Fuzzy Feeling knowing you are helping to continue future development', 'better_analytics');
 
392
  ?>
393
- </li>
394
-
395
-
396
- </ul>
397
- </td>
398
- </tr>
399
-
400
-
401
 
 
 
 
 
 
 
402
 
 
 
 
 
 
 
403
 
404
- <tr><td colspan="3"><h3><?php esc_html_e( 'Things That Need To Be Checked Manually' , 'better-analytics');?></h3></td></tr>
 
 
 
 
 
405
 
406
- <tr valign="top">
407
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('User-ID Tracking', 'better-analytics'));?></th>
408
- <td class="good">&nbsp;</td>
409
- <td class="description">
410
- <?php printf(esc_html__('Found in Google Analytics account under %1$sTracking Info -> User-ID%2$s.', 'better-analytics'), '<strong>', '</strong>');?>
411
- </td>
412
- </tr>
413
 
414
- <tr valign="top">
415
- <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Demographic and Interest Reports', 'better-analytics'));?></th>
416
- <td class="good">&nbsp;</td>
417
- <td class="description">
418
- <?php printf(esc_html__('Found in Google Analytics account under %1$sProperty Settings%1$s.', 'better-analytics'), '<strong>', '</strong>');?>
419
- </td>
420
- </tr>
421
 
 
 
 
 
 
 
422
 
423
- </table>
424
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
 
4
  $betterAnalyticsOptions = get_option('better_analytics');
5
 
6
+ $property = null;
7
+ $checks = array();
8
+ $hasTokens = false;
9
+ $hasAccounts = true;
10
+
11
+ $dimensions = array('Categories', 'Author', 'Tags', 'Year', 'Role', 'User');
12
+
13
+ $reportingClass = DigitalPointBetterAnalytics_Helper_Reporting::getInstance();
14
+
15
+ if ($reportingClass->checkAccessToken(false))
16
  {
17
+ $hasTokens = true;
18
+ $checks['profiles'] = $reportingClass->getProfiles();
19
+ $checks['matchingProfile'] = $reportingClass->getProfileByProfileId($betterAnalyticsOptions['api']['profile']);
20
 
21
  $checks['siteSearchSetup'] = @$checks['matchingProfile']['siteSearchQueryParameters'] == 's';
22
  $checks['ecommerceTracking'] = @$checks['matchingProfile']['eCommerceTracking'];
23
  $checks['enhancedEcommerceTracking'] = @$checks['matchingProfile']['enhancedECommerceTracking'];
24
 
25
+ $property = $reportingClass->getPropertyByPropertyId(@$checks['matchingProfile']['accountId'], $betterAnalyticsOptions['property_id']);
26
 
27
  $checks['level'] = @$property['level'];
28
  $checks['industryVertical'] = @$property['industryVertical'];
29
 
30
+ $checks['dimensions'] = $reportingClass->getDimensionsByPropertyId(@$checks['matchingProfile']['accountId'], $betterAnalyticsOptions['property_id'], $dimensions);
31
  }
32
 
33
  $checks['licensed'] = DigitalPointBetterAnalytics_Helper_Api::check(true);
34
 
35
  if ($code = sanitize_text_field(@$_REQUEST['code']))
36
  {
37
+ if (!$hasTokens)
38
  {
39
+ esc_html_e('You need to first link a Google Analytics account to auto-configure it.', 'better-analytics');
40
  }
41
  elseif (empty($_REQUEST['vertical']))
42
  {
45
 
46
  wp_enqueue_script('better-analytics_admin_js', BETTER_ANALYTICS_PLUGIN_URL . 'assets/digitalpoint/js/admin.js', array(), BETTER_ANALYTICS_VERSION );
47
 
48
+ $verticals = $reportingClass->getIndustryVerticals();
 
 
 
 
 
 
 
49
 
50
+ if (!$checks['matchingProfile'])
 
 
 
 
 
51
  {
52
+ if ($accounts = $reportingClass->getAccounts())
53
+ {
54
+ $accounts = DigitalPointBetterAnalytics_Model_Reporting::parseAccounts($accounts, true);
55
+ }
56
+ if(!$accounts)
57
+ {
58
+ $hasAccounts = false;
59
+ }
60
+ }
61
+ else
62
+ {
63
+ $accounts = null;
64
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
 
66
+ echo '<div class="wrap test-configure">
67
 
68
+ <h2>' . esc_html__('Auto-Configure' , 'better-analytics') . '</h2>';
69
 
70
+ if ($hasAccounts)
71
+ {
72
+ echo '<div class="error"><p>' . esc_html__('Only use this option if you are sure you want to auto-configure everything.', 'better-analytics') . '</p></div>';
73
 
74
+ echo '<form action="' . esc_url(menu_page_url('better-analytics_test', false)) . '" method="POST" style="padding:15px">
75
+ <input type="hidden" name="code" value="' . htmlentities($_REQUEST['code']) . '">';
76
 
77
+ if ($accounts)
78
+ {
79
+ esc_html_e('Please select the Google Analytics account that you wish to create a new Web Property within:', 'better-analytics');
80
 
81
+ echo '<select style="width:auto;" name="account_id" data-placeholder="' . esc_html__('Pick account', 'better-analytics') . '" id="ba_pick_account" class="chosen-select">';
82
 
83
+ foreach ($accounts as $accountId => $accountName)
84
+ {
85
+ echo '<option value="' . absint($accountId) . '">' . htmlentities($accountName) . '</option>';
86
+ }
87
+ echo '</select><br /><br />';
88
+ }
89
 
90
+ esc_html_e('Please select the industry vertical that you wish your Web Property to be assigned to:', 'better-analytics');
91
 
92
+ echo '<select style="width:auto;" name="vertical" data-placeholder="' . esc_html__('Pick industry vertical', 'better-analytics') . '" id="ba_pick_vertical" class="chosen-select">';
 
93
 
94
+ foreach ($verticals as $vertical)
95
+ {
96
+ echo '<option' . ($vertical == $property['industryVertical'] ? ' selected="selected"' : '') . '>' . htmlentities($vertical) . '</option>';
97
+ }
98
+ echo '</select><br /><br />';
99
 
100
+ esc_html_e('This will perform the following actions:', 'better-analytics');
101
+ echo '<ul style="list-style: initial;padding-left:30px;">';
 
 
 
 
 
102
 
103
+ if (!$checks['matchingProfile'])
104
+ {
105
+ echo '<li>' . esc_html__('Create a new Web Property within your selected Google Analytics account', 'better-analytics') . '</li>';
106
+ }
107
+ echo '<li>' . sprintf(esc_html__('Set Site Search Query Parameter to %s on Analytics account', 'better-analytics'), '<strong>"s"</strong>') . '</li>';
108
+ echo '<li>' . esc_html__('Enable Ecommerce options on Analytics account', 'better-analytics') . '</li>';
109
+ echo '<li>' . esc_html__('Set Industry Vertical on Analytics account', 'better-analytics') . '</li>';
110
+ echo '<li>' . sprintf(esc_html__('Create %1$u custom dimensions for this Analytics property if they do not already exist (%2$s)', 'better-analytics'), count($dimensions), implode(', ', $dimensions)) . '</li>';
111
+ echo '<li>' . sprintf(esc_html__('Map the %1$u custom dimensions in your Better Analytics settings', 'better-analytics'), count($dimensions)) . '</li>';
112
+ echo '</ul>';
113
 
114
+ submit_button(esc_html__('Auto-Configure', 'better-analytics'));
115
 
116
+ echo '</form>';
117
+ }
118
+ else
119
+ {
120
+ echo '<div class="error"><p>' .
121
+ esc_html__('Your linked Google account doesn\'t appear to have any Google Analytics accounts within it. You can link a different Google account or create a Google Analytics account within it.', 'better-analytics') .
122
+ '<br/><br/><a class="button button-primary" href="' . esc_url(menu_page_url('better-analytics_auth', false)) .'">' . esc_html__('Link/Authenticate A Different Google Analytics Account', 'better-analytics') . '</a>' .
123
+ ' &nbsp; <a class="button button-primary" href="' . esc_url('https://www.google.com/analytics/') .'" target="_blank">' . esc_html__('Create Analytics Account Manually Within Your Google Account', 'better-analytics') . '</a>' .
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
 
125
+ '</p></div>';
126
+ }
127
+ echo '</div>';
128
+ }
129
+ elseif($_SERVER['REQUEST_METHOD'] == 'POST')
130
+ {
131
+ $vertical = sanitize_text_field($_REQUEST['vertical']);
132
+ $accountId = absint(@$_REQUEST['account_id']);
133
 
134
+ $tokens = $reportingClass->exchangeCodeForToken($code);
 
 
 
 
 
135
 
136
+ $reportingClass->overrideTokens($tokens);
137
 
138
+ $overQuota = false;
 
 
 
 
 
 
 
 
 
 
139
 
140
+ if ($accountId = absint(@$_REQUEST['account_id']))
141
+ {
142
+ $property = $reportingClass->insertWebProperty($accountId, array(
143
+ 'industryVertical' => $vertical,
144
+ 'kind' => 'analytics#webproperty',
145
+ 'name' => get_option('blogname'),
146
+ 'websiteUrl' => get_option('siteurl'),
147
+ ));
148
+
149
+ if ($reportingClass->checkApiErrorType($property, 'noQuota'))
150
+ {
151
+ $overQuota = true;
152
+ }
153
+
154
+ if (!$overQuota && !empty($property['id']))
155
+ {
156
+ $profile = $reportingClass->insertProfile($property['accountId'], $property['id'], array(
157
+ 'kind' => 'analytics#profile',
158
+ 'type' => 'WEB',
159
+ 'name' => 'All Web Site Data',
160
+ 'timezone' => get_option('timezone_string'),
161
+ 'websiteUrl' => get_option('siteurl'),
162
+ 'eCommerceTracking' => true,
163
+ 'enhancedECommerceTracking' => true,
164
+ 'siteSearchQueryParameters' => 's',
165
+ 'stripSiteSearchQueryParameters' => true
166
+ ));
167
+
168
+ if ($reportingClass->checkApiErrorType($profile, 'noQuota'))
169
+ {
170
+ $overQuota = true;
171
+ }
172
+ else
173
+ {
174
+ $betterAnalyticsOptions['property_id'] = $profile['webPropertyId'];
175
+ $betterAnalyticsOptions['api']['profile'] = $profile['id'];
176
+ }
177
+
178
+
179
+
180
+ // Really seems like an Analytics bug because the enhancedECommerceTracking option doesn't take upon insert, so for now, PATCHing after the fact.
181
+ // See: https://code.google.com/p/analytics-issues/issues/detail?id=688
182
+ if (!$overQuota && !empty($profile['id']) && empty($profile['enhancedECommerceTracking']))
183
+ {
184
+ $profile = $reportingClass->patchProfile($property['accountId'], $property['id'], $profile['id'], array(
185
+ 'enhancedECommerceTracking' => true,
186
+ ));
187
+
188
+ if ($reportingClass->checkApiErrorType($profile, 'noQuota'))
189
+ {
190
+ $overQuota = true;
191
+ }
192
+ }
193
+ }
194
+ }
195
+ else
196
+ {
197
+ if (!empty($property['accountId']) && !empty($property['id']) && @$property['industryVertical'] != $vertical)
198
+ {
199
+ $property = $reportingClass->patchWebProperty($property['accountId'], $property['id'], array(
200
+ 'industryVertical' => $vertical
201
+ ));
202
+
203
+ if ($reportingClass->checkApiErrorType($property, 'noQuota'))
204
+ {
205
+ $overQuota = true;
206
+ }
207
+ }
208
+
209
+ if (
210
+ !$overQuota && !empty($property['accountId']) && !empty($property['id']) && !empty($betterAnalyticsOptions['api']['profile']) &&
211
+ (
212
+ empty($check['matchingProfile']['eCommerceTracking']) ||
213
+ empty($check['matchingProfile']['enhancedECommerceTracking']) ||
214
+ @$check['matchingProfile']['siteSearchQueryParameters'] != 's' ||
215
+ empty($check['matchingProfile']['stripSiteSearchQueryParameters'])
216
+ )
217
+ )
218
+ {
219
+ $profile = $reportingClass->patchProfile($property['accountId'], $property['id'], $betterAnalyticsOptions['api']['profile'], array(
220
+ 'eCommerceTracking' => true,
221
+ 'enhancedECommerceTracking' => true,
222
+ 'siteSearchQueryParameters' => 's',
223
+ 'stripSiteSearchQueryParameters' => true
224
+ ));
225
+
226
+ if ($reportingClass->checkApiErrorType($profile, 'noQuota'))
227
+ {
228
+ $overQuota = true;
229
+ }
230
+ }
231
+ }
232
 
233
+ foreach ($dimensions as $dimension)
234
+ {
235
+ if (empty($checks['dimensions'][$dimension]))
236
+ {
237
+ $results = $reportingClass->insertCustomDimension($property['accountId'], $property['id'], array(
238
+ 'name' => $dimension,
239
+ 'scope' => 'HIT',
240
+ 'active' => true
241
+ ));
242
+
243
+ if ($reportingClass->checkApiErrorType($results, 'noQuota'))
244
+ {
245
+ $overQuota = true;
246
+ break;
247
+ }
248
+ }
249
+ }
250
 
251
+ if ($overQuota)
252
+ {
253
+ set_transient('ba_last_error', esc_html__('Google API Quota Exceeded (you will need to configure your Google Analytics account manually).'), 10);
254
+ }
 
 
 
 
 
 
 
 
255
 
256
+ $reportingClass->overrideTokens(null);
 
 
 
 
 
 
 
 
 
 
 
257
 
258
+ $reportingClass->deleteProfileCache();
259
+ $reportingClass->deleteProfileCache($property['accountId'], null);
260
+ $reportingClass->deleteDimensionCache($property['accountId'], $property['id']);
 
 
 
 
 
 
 
 
 
261
 
262
+ $checks['dimensions'] = $reportingClass->getDimensionsByPropertyId($property['accountId'], $property['id'], $dimensions);
 
 
 
 
263
 
264
+ foreach ($dimensions as $dimension)
265
+ {
266
+ if (!empty($checks['dimensions'][$dimension]))
267
+ {
268
+ $dimLower = strtolower($dimension);
269
+ // Blah... ugly renaming
270
+ if ($dimLower == 'tags')
271
+ {
272
+ $dimLower = 'tag';
273
+ }
274
+ elseif ($dimLower == 'categories')
275
+ {
276
+ $dimLower = 'category';
277
+ }
278
+
279
+ $betterAnalyticsOptions['dimension'][$dimLower] = $checks['dimensions'][$dimension]['index'];
280
+ }
281
+ }
282
+ update_option('better_analytics', $betterAnalyticsOptions);
283
 
284
+ wp_redirect(esc_url(menu_page_url('better-analytics_test', false)), 302);
285
+ }
 
 
 
 
286
 
287
+ }
288
+ else {
 
 
 
 
 
 
 
 
 
 
289
 
290
+ ?>
 
 
 
 
 
291
 
292
+ <div class="wrap">
 
 
 
 
 
293
 
294
+ <h2><?php esc_html_e('Test Analytics Integration', 'better-analytics');?></h2>
 
 
 
 
 
295
 
296
+ <table class="form-table" id="ba_test">
297
+ <?php esc_html_e('This is a checklist of things for full integration with Google Analytics. You can click on any of the titles to be taken where you need to go to configure that item.', 'better-analytics');?>
 
 
 
 
298
 
299
+ <tr>
300
+ <td colspan="3">
301
+ <h3><?php esc_html_e('Things That Can Be Automatically Checked', 'better-analytics');?></h3>
302
+ </td>
303
+ </tr>
304
 
305
+ <tr valign="top">
306
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#general', esc_html__('Web Property ID Defined', 'better-analytics'));?></th>
307
+ <?php
308
+ echo ($betterAnalyticsOptions['property_id'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
309
+ ?>
310
+ <td></td>
311
+ </tr>
312
 
313
+ <tr valign="top">
 
 
 
 
 
314
 
315
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://php.net/manual/en/curl.installation.php', esc_html__('cURL Installed', 'better-analytics'));?></th>
 
 
 
 
 
316
 
317
+ <?php
318
+ echo (function_exists('curl_multi_init') ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
319
+ ?>
320
+ <td class="description">
321
+ <?php esc_html_e('Not required, but recommended to have the cURL extensions enabled in PHP.', 'better-analytics');?>
322
+ </td>
323
+ </tr>
324
 
 
325
  <?php
326
+ // not really needed since most people will not use their own project credentials
327
+ /*
328
  ?>
329
+ <tr valign="top">
330
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#api', esc_html__('API Project Credentials', 'better-analytics'));?></th>
331
+ <?php
332
+ echo ($betterAnalyticsOptions['api']['client_id'] && $betterAnalyticsOptions['api']['client_secret'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
333
+ ?>
334
+ <td>
335
+ </td>
336
+ </tr>
337
+ */
338
  ?>
 
 
339
 
340
+ <tr valign="top">
341
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#api', esc_html__('Google Analytics Account Linked', 'better-analytics'));?></th>
342
+ <?php
343
+ echo ($hasTokens ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
344
+ ?>
345
+ </tr>
 
346
 
 
 
347
  <?php
348
+ if ($hasTokens)
349
+ {
350
+ ?>
351
+ <tr>
352
+ <td colspan="3" style="text-align:center">
353
+ <?php esc_html_e('Items highlighted in yellow can be auto-configured via the Google Analytics API if you wish.', 'better-analytics'); ?>
354
+ <br/><br/><a class="button button-primary" href="<?php echo $reportingClass->getAuthenticationUrl(esc_url(menu_page_url('better-analytics_test', false)), true, 'online'); ?>"><?php esc_html_e('Auto-Configure', 'better-analytics');?></a>
355
+ </td>
356
+ </tr>
357
  <?php
358
+ }
359
  ?>
 
 
360
 
361
+ <tr valign="top"<?php echo $hasTokens ? ' class="can_auto_config"' : ''?>>
362
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#api', esc_html__('Analytics Profile Selected', 'better-analytics'));?></th>
363
+ <?php
364
+ echo ($betterAnalyticsOptions['api']['profile'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
365
+ ?>
366
+ <td class="description">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
367
  <?php
368
+ esc_html_e('If you would like the Auto-Configure system to create a new Web Property on your Google Analytics account, don\'t select an existing profile.', 'better-analytics');
369
  ?>
370
+ </td>
371
+ </tr>
372
+
373
+ <tr valign="top"<?php echo $hasTokens ? ' class="can_auto_config"' : ''?>>
374
+
375
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Site Search Setup', 'better-analytics'));?></th>
376
+ <?php
377
+ echo (@$checks['siteSearchSetup'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
378
+ ?>
379
+ <td class="description">
380
  <?php
381
+ /* translators: %1$s = <strong>, %2$s = </strong> */
382
+ printf(__('Found in Google Analytics account under %1$sView Settings -> Query Parameter%2$s (should be set to "%1$ss%2$s").', 'better-analytics'), '<strong>', '</strong>');
383
  ?>
384
+ </td>
385
+ </tr>
386
+
387
+ <tr valign="top"<?php echo $hasTokens ? ' class="can_auto_config"' : ''?>>
388
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Ecommerce Tracking Enabled', 'better-analytics'));?></th>
389
+ <?php
390
+ echo (@$checks['ecommerceTracking'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
391
+ ?>
392
+ <td class="description">
393
+
394
  <?php
395
+ /* translators: %1$s = <strong>, %2$s = </strong> */
396
+ printf(__('Found in Google Analytics account under %1$sEcommerce Settings%2$s.', 'better-analytics'), '<strong>', '</strong>');
397
  ?>
398
+ </td>
399
+ </tr>
400
+
401
+ <tr valign="top"<?php echo $hasTokens ? ' class="can_auto_config"' : ''?>>
402
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Enhanced Ecommerce Tracking Enabled', 'better-analytics'));?></th>
403
+ <?php
404
+ echo (@$checks['enhancedEcommerceTracking'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
405
+ ?>
406
+ <td class="description">
407
  <?php
408
+ /* translators: %1$s = <strong>, %2$s = </strong> */
409
+ printf(esc_html__('Found in Google Analytics account under %1$sEcommerce Settings%2$s.', 'better-analytics'), '<strong>', '</strong>');
410
  ?>
411
+ </td>
412
+ </tr>
413
+
414
+ <tr valign="top"<?php echo $hasTokens ? ' class="can_auto_config"' : ''?>>
415
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Industry Vertical Set', 'better-analytics'));?></th>
416
+ <?php
417
+ echo (!empty($checks['industryVertical']) && $checks['industryVertical'] != 'UNSPECIFIED' ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
418
+ ?>
419
+ <td class="description">
420
  <?php
421
+ /* translators: %1$s = <strong>, %2$s = </strong>, %3$s = current setting in Google Analytics account */
422
+ printf(esc_html__('Found in Google Analytics account under %1$sProperty Settings%2$s (currently set to %1$s%3$s%2$s).', 'better-analytics'), '<strong>', '</strong>', ($checks['industryVertical'] ? $checks['industryVertical'] : 'UNSPECIFIED'));
423
  ?>
424
+ </td>
425
+ </tr>
426
+
427
+ <tr valign="top"<?php echo $hasTokens ? ' class="can_auto_config"' : ''?>>
428
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Custom Dimension For Category Tracking', 'better-analytics'));?></th>
429
+ <?php
430
+ echo (!empty($checks['dimensions']['Categories']) ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
431
+ ?>
432
+ <td class="description">
433
  <?php
434
+ /* translators: %1$s = <strong>, %2$s = </strong> ... %3$s can't be translated - leave */
435
+ printf(esc_html__('Found in Google Analytics account under %1$sCustom Definitions -> Custom Dimensions%2$s (should be named "%1$s%3$s%2$s" and scoped for "%1$sHit%2$s").', 'better-analytics'), '<strong>', '</strong>', 'Categories');
436
  ?>
437
+ </td>
438
+ </tr>
439
+
440
+ <tr valign="top"<?php echo $hasTokens ? ' class="can_auto_config"' : ''?>>
441
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Custom Dimension For Author Tracking', 'better-analytics'));?></th>
442
+ <?php
443
+ echo (!empty($checks['dimensions']['Author']) ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
444
+ ?>
445
+
446
+ <td class="description">
447
  <?php
448
+ /* translators: %1$s = <strong>, %2$s = </strong> ... %3$s can't be translated - leave */
449
+ printf(esc_html__('Found in Google Analytics account under %1$sCustom Definitions -> Custom Dimensions%2$s (should be named "%1$s%3$s%2$s" and scoped for "%1$sHit%2$s").', 'better-analytics'), '<strong>', '</strong>', 'Author');
450
  ?>
451
+ </td>
452
+ </tr>
453
+
454
+ <tr valign="top"<?php echo $hasTokens ? ' class="can_auto_config"' : ''?>>
455
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Custom Dimension For Tag Tracking', 'better-analytics'));?></th>
456
+ <?php
457
+ echo (!empty($checks['dimensions']['Tags']) ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
458
+ ?>
459
+ <td class="description">
460
  <?php
461
+ /* translators: %1$s = <strong>, %2$s = </strong> ... %3$s can't be translated - leave */
462
+ printf(esc_html__('Found in Google Analytics account under %1$sCustom Definitions -> Custom Dimensions%2$s (should be named "%1$s%3$s%2$s" and scoped for "%1$sHit%2$s").', 'better-analytics'), '<strong>', '</strong>', 'Tags');
463
  ?>
464
+ </td>
465
+ </tr>
 
 
 
 
 
 
466
 
467
+ <tr valign="top"<?php echo $hasTokens ? ' class="can_auto_config"' : ''?>>
468
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Custom Dimension For Publication Year Tracking', 'better-analytics'));?></th>
469
+ <?php
470
+ echo (!empty($checks['dimensions']['Year']) ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
471
+ ?>
472
+ <td class="description">
473
 
474
+ <?php
475
+ /* translators: %1$s = <strong>, %2$s = </strong> ... %3$s can't be translated - leave */
476
+ printf(esc_html__('Found in Google Analytics account under %1$sCustom Definitions -> Custom Dimensions%2$s (should be named "%1$s%3$s%2$s" and scoped for "%1$sHit%2$s").', 'better-analytics'), '<strong>', '</strong>', 'Year');
477
+ ?>
478
+ </td>
479
+ </tr>
480
 
481
+ <tr valign="top"<?php echo $hasTokens ? ' class="can_auto_config"' : ''?>>
482
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Custom Dimension For User Role Tracking', 'better-analytics'));?></th>
483
+ <?php
484
+ echo (!empty($checks['dimensions']['Role']) ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
485
+ ?>
486
+ <td class="description">
487
 
488
+ <?php
489
+ /* translators: %1$s = <strong>, %2$s = </strong> ... %3$s can't be translated - leave */
490
+ printf(esc_html__('Found in Google Analytics account under %1$sCustom Definitions -> Custom Dimensions%2$s (should be named "%1$s%3$s%2$s" and scoped for "%1$sHit%2$s").', 'better-analytics'), '<strong>', '</strong>', 'Role');
491
+ ?>
492
+ </td>
493
+ </tr>
 
494
 
 
 
 
 
 
 
 
495
 
496
+ <tr valign="top"<?php echo $hasTokens ? ' class="can_auto_config"' : ''?>>
497
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Custom Dimension For User Tracking', 'better-analytics'));?></th>
498
+ <?php
499
+ echo (!empty($checks['dimensions']['User']) ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
500
+ ?>
501
+ <td class="description">
502
 
503
+ <?php
504
+ /* translators: %1$s = <strong>, %2$s = </strong> ... %3$s can't be translated - leave */
505
+ printf(esc_html__('Found in Google Analytics account under %1$sCustom Definitions -> Custom Dimensions%2$s (should be named "%1$s%3$s%2$s" and scoped for "%1$sHit%2$s").', 'better-analytics'), '<strong>', '</strong>', 'User');
506
+ ?>
507
+ </td>
508
+ </tr>
509
+
510
+ <tr valign="top"<?php echo $hasTokens ? ' class="can_auto_config"' : ''?>>
511
+
512
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#dimensions', esc_html__('Category Tracking Dimension Index Set', 'better-analytics'));?></th>
513
+ <?php
514
+ echo (@$betterAnalyticsOptions['dimension']['category'] > 0 && @$checks['dimensions']['Categories']['index'] == $betterAnalyticsOptions['dimension']['category'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
515
+ ?>
516
+ <td></td>
517
+ </tr>
518
+
519
+ <tr valign="top"<?php echo $hasTokens ? ' class="can_auto_config"' : ''?>>
520
+
521
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#dimensions', esc_html__('Author Tracking Dimension Index Set', 'better-analytics'));?></th>
522
+ <?php
523
+ echo (@$betterAnalyticsOptions['dimension']['author'] > 0 && @$checks['dimensions']['Author']['index'] == $betterAnalyticsOptions['dimension']['author'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
524
+ ?>
525
+ <td></td>
526
+ </tr>
527
+
528
+ <tr valign="top"<?php echo $hasTokens ? ' class="can_auto_config"' : ''?>>
529
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#dimensions', esc_html__('Tag Tracking Dimension Index Set', 'better-analytics'));?></th>
530
+ <?php
531
+ echo (@$betterAnalyticsOptions['dimension']['tag'] > 0 && @$checks['dimensions']['Tags']['index'] == $betterAnalyticsOptions['dimension']['tag'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
532
+ ?>
533
+ <td></td>
534
+ </tr>
535
+
536
+ <tr valign="top"<?php echo $hasTokens ? ' class="can_auto_config"' : ''?>>
537
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#dimensions', esc_html__('Publication Year Tracking Dimension Index Set', 'better-analytics'));?></th>
538
+ <?php
539
+ echo (@$betterAnalyticsOptions['dimension']['year'] > 0 && @$checks['dimensions']['Year']['index'] == $betterAnalyticsOptions['dimension']['year'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
540
+ ?>
541
+ <td></td>
542
+ </tr>
543
+
544
+ <tr valign="top"<?php echo $hasTokens ? ' class="can_auto_config"' : ''?>>
545
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#dimensions', esc_html__('User Role Tracking Dimension Index Set', 'better-analytics'));?></th>
546
+ <?php
547
+ echo (@$betterAnalyticsOptions['dimension']['role'] > 0 && @$checks['dimensions']['Role']['index'] == $betterAnalyticsOptions['dimension']['role'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
548
+ ?>
549
+ <td></td>
550
+ </tr>
551
+
552
+ <tr valign="top"<?php echo $hasTokens ? ' class="can_auto_config"' : ''?>>
553
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', menu_page_url('better-analytics', false) . '#top#dimensions', esc_html__('Registered User Tracking Dimension Index Set', 'better-analytics'));?></th>
554
+ <?php
555
+ echo (@$betterAnalyticsOptions['dimension']['user'] > 0 && @$checks['dimensions']['User']['index'] == $betterAnalyticsOptions['dimension']['user'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
556
+ ?>
557
+ <td></td>
558
+ </tr>
559
+
560
+ <tr valign="top">
561
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', BETTER_ANALYTICS_PRO_PRODUCT_URL . '#utm_source=admin_test&utm_medium=wordpress&utm_campaign=plugin', esc_html__('Better Analytics Pro License', 'better-analytics'));?></th>
562
+ <?php
563
+ echo ($checks['licensed'] ? '<td class="good">✓</td>' : '<td class="bad">✗</td>');
564
+ ?>
565
+ <td class="description">
566
+ <?php esc_html_e('A few extra advanced features are available when you license the Better Analytics Pro plugin. Please don\'t steal, a crazy amount of work went into this. Some of the extra features:', 'better-analytics'); ?>
567
+ <ul>
568
+ <li>
569
+ <?php
570
+ printf(esc_html__('More metrics available for %1$sHeat Maps%2$s', 'better_analytics'), '<a href="' . esc_url(menu_page_url('better-analytics_heatmaps', false)) . '" target="_blank">', '</a>');
571
+ ?>
572
+ </li>
573
+ <li>
574
+ <?php
575
+ printf(esc_html__('More dimensions available for %1$sCharts%2$s', 'better_analytics'), '<a href="' . esc_url(menu_page_url('better-analytics_areacharts', false)) . '" target="_blank">', '</a>');
576
+ ?>
577
+ </li>
578
+ <li>
579
+ <?php
580
+ printf(esc_html__('More %1$sadvertising platform click tracking%2$s', 'better_analytics'), '<a href="' . esc_url(menu_page_url('better-analytics', false) . '#top#advertising') . '" target="_blank">', '</a>');
581
+ ?>
582
+ </li>
583
+ <li>
584
+ <?php
585
+ printf(esc_html__('More %1$sissue monitoring options%2$s', 'better_analytics'), '<a href="' . esc_url(menu_page_url('better-analytics', false) . '#top#monitor') . '" target="_blank">', '</a>');
586
+ ?>
587
+ </li>
588
+ <li>
589
+ <?php
590
+ printf(esc_html__('%1$seCommerce tracking%2$s', 'better_analytics'), '<a href="' . esc_url(menu_page_url('better-analytics', false) . '#top#ecommerce') . '" target="_blank">', '</a>');
591
+ ?>
592
+ </li>
593
+ <li>
594
+ <?php
595
+ printf(esc_html__('Ability to do %1$sserver-side tracking of users%2$s', 'better_analytics'), '<a href="' . esc_url(menu_page_url('better-analytics', false) . '#top#advanced') . '" target="_blank">', '</a>');
596
+ ?>
597
+ </li>
598
+ <li>
599
+ <?php
600
+ esc_html_e('Faster API calls (utilizes a multi-threaded mechanism)', 'better_analytics');
601
+ ?>
602
+ </li>
603
+ <li>
604
+ <?php
605
+ printf(esc_html__('%1$sPriority support%2$s', 'better_analytics'), '<a href="' . esc_url(BETTER_ANALYTICS_SUPPORT_URL . '#utm_source=admin_test&utm_medium=wordpress&utm_campaign=plugin') . '" target="_blank">', '</a>');
606
+ ?>
607
+ </li>
608
+ <li>
609
+ <?php
610
+ esc_html_e('A Warm & Fuzzy Feeling knowing you are helping to continue future development', 'better_analytics');
611
+ ?>
612
+ </li>
613
+
614
+
615
+ </ul>
616
+ </td>
617
+ </tr>
618
+
619
+
620
+ <tr>
621
+ <td colspan="3">
622
+ <h3><?php esc_html_e('Things That Need To Be Checked Manually', 'better-analytics');?></h3></td>
623
+ </tr>
624
+
625
+ <tr valign="top">
626
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('User-ID Tracking', 'better-analytics'));?></th>
627
+ <td class="good">&nbsp;</td>
628
+ <td class="description">
629
+ <?php printf(esc_html__('Found in Google Analytics account under %1$sTracking Info -> User-ID%2$s.', 'better-analytics'), '<strong>', '</strong>');?>
630
+ </td>
631
+ </tr>
632
+
633
+ <tr valign="top">
634
+ <th scope="row"><?php printf('<a href="%1$s" target="_blank">%2$s</a>:', 'https://www.google.com/analytics/web/?#management/Settings/', esc_html__('Demographic and Interest Reports', 'better-analytics'));?></th>
635
+ <td class="good">&nbsp;</td>
636
+ <td class="description">
637
+ <?php printf(esc_html__('Found in Google Analytics account under %1$sProperty Settings%1$s.', 'better-analytics'), '<strong>', '</strong>');?>
638
+ </td>
639
+ </tr>
640
+
641
+
642
+ </table>
643
+ </div>
644
+
645
+ <?php
646
+ }
readme.txt CHANGED
@@ -1,17 +1,21 @@
1
  === Better Google Analytics ===
2
  Contributors: digitalpoint
3
- Tags: analytics, google analytics, universal analytics, statistics, tracking, code, dashboard, analytics dashboard, google analytics dashboard, google analytics plugin, google analytics widget, reports, charts, multisite, api, stats, web stats, visits, javascript, pageviews, marketing, widget, realtime, real time, youtube, outbrain, taboola, adsense, google, digitalpoint
4
  Donate link: https://marketplace.digitalpoint.com/better-analytics.3354/item#utm_source=readme&utm_medium=wordpress&utm_campaign=plugin
5
  Requires at least: 3.8
6
  Tested up to: 4.2.2
7
- Stable tag: 1.0.5
8
  License: GPLv2
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
 
11
  Track everything with Google Analytics (clicked links, emails opened, YouTube videos being watched, etc.). Includes real time Analytics dashboard.
12
 
13
  == Description ==
14
- The Better Google Analytics plugin allows you to easily add Google Analytics code to your website and gives you the power to track virtually everything. Better Analytics includes heat maps, reports, charts, events and site issue tracking in your WordPress admin area without the need to log into your Google Analytics account.
 
 
 
 
15
 
16
  Better Google Analytics utilizes all the latest and greatest features of Google Analytics (Universal analytics, user-ID session unification, event tracking, campaign tracking, custom dimensions, server-side tracking, social engagement tracking, remarketing, etc.)
17
 
@@ -79,6 +83,7 @@ Better Google Analytics uses lightweight (and client-side cacheable) JavaScript
79
  * Statistics based on selectable Analytics metric
80
 
81
  > <strong>Better Analytics Pro</strong><br>
 
82
  > If you would like additional advanced functions for Google Analytics, we offer a Pro version.
83
  >
84
  > * Additional ad networks for ad click tracking
@@ -95,20 +100,31 @@ Better Google Analytics uses lightweight (and client-side cacheable) JavaScript
95
  == Installation ==
96
  1. Upload `better-analytics` folder to the `/wp-content/plugins/` directory.
97
  1. Activate the Better Google Analytics plugin through the 'Plugins' menu in the WordPress admin area.
98
- 1. Add your Google Analytics Web Property ID under the 'Settings -> Better Analytics' area of the WordPress admin.
99
- 1. Optional (but probably a good idea so you don't double report your traffic inside Google Analytics) - disable any other Google Analytics code you have enabled.
 
 
 
 
 
 
 
 
 
 
 
100
 
101
  == Frequently Asked Questions ==
102
- = What are the requirements of the Better Analytics plugin? =
103
- You need a WordPress site (of course) running WordPress 3.8 or higher and a Google Analytics account (which is [free over here](http://www.google.com/analytics/) if you don't already have a Google Analytics account).
104
 
105
- = Can Better Analytics be used with legacy Google Analytics code? =
106
- No, the Better Analytics plugin is for Google Universal Analytics. You can upgrade any old non-Universal Google Analytics property to support both legacy and Universal under your [Google Analytics Property Settings](https://www.google.com/analytics/web/?#management/Settings/).
107
 
108
  = Can you add [insert feature here] to Better Google Analytics? =
109
  If it's possible and it makes sense, then yes. The best way to put in a feature request for Better Google Analytics would be to create a thread in the [support forum over here](https://forums.digitalpoint.com/forums/better-analytics.31/#utm_source=readme&utm_medium=wordpress&utm_campaign=plugin).
110
 
111
- = I speak a language that isn't supported by Better Analytics, can I help translate it? =
112
  Yes. Unfortunately we don't speak every language in the world, so if you would like to help with translating the Better Google Analytics plugin, please contact us in the [support forum over here](https://forums.digitalpoint.com/forums/better-analytics.31/#utm_source=readme&utm_medium=wordpress&utm_campaign=plugin).
113
 
114
  = Does Better Google Analytics Support A WordPress Multisite Network? =
@@ -120,6 +136,10 @@ In no way, shape, or form do we have access to your Google Analytics data.
120
  = How can I ensure you don't really have access to my Google Analytics data? =
121
  The way OAuth2 works with your Google Analytics account, it wouldn't be possible for us to access your Google Analytics data even if we wanted to (which we don't). If you utilize the default Google Analytics API project credentials, the system will ask you for permission to access your data. Google will then issue a one-time use code that is exchanged for OAuth2 credentials that are used when making Google Analytics API calls. <strong>The code is one-time use</strong> (meaning if someone intercepted it and redeemed it for credentials, you wouldn't be able to yourself). After your site redeems the code, it's no longer valid. The resulting credentials are stored inside your installation and are never sent anywhere. That being said, if you are still worried about the security of your Google Analytics data, you are able to utilize your own Google Analytics API project credentials (it's just a little more work for you to set up that Google API project - the only API type that you need to enable under that project is the Google Analytics API).
122
 
 
 
 
 
123
  == CDN ==
124
 
125
  The JavaScript used by Better Google Analytics should be able to be cached properly by content delivery networks (it has been tested with CloudFlare). This means if your site uses CloudFlare, the JavaScript code used by Google Analytics will be cached in their data centers and delivered to end users via the closest data center (long story short is that it will make for a faster user experience).
@@ -136,21 +156,45 @@ Thank you to all the individuals who have contributed translations for Better Go
136
  2. Google Analytics dashboard showing page views by normalized categories for the last month.
137
  3. Google Analytics dashboard showing organic search traffic by country for the last 3 months.
138
  4. Google Analytics dashboard showing sessions by date for the last 3 months.
139
- 5. One of ~1,000 metric/segment combinations for Google Analytics weekly heat maps (showing all sessions for the last 4 weeks).
140
- 6. Stacked area percent charts of your Google Analytics data allow you to see historical changes (browser usage for the last 10 years shows the rise of Chrome and the fall of Internet Explorer).
141
- 7. Better Google Analytics event report shows things like external links being clicked, YouTube video engagement, comments being created, etc. You are able to correlate that data against any other metrics from your Google Analytics account. For example maybe you wanted to see what countries users are in that watch YouTube videos.
142
- 8. Better Google Analytics issue monitoring report alerts to you client-side issues with your site. Things like invalid pages being accessed (404), JavaScript errors, images not loading, embedded YouTube videos that the author removed, etc.
143
- 9. An automated system that is able to check your Google Analytics account and helps you configure your Google Analytics web property settings properly is included.
144
- 10. Better Google Analytics includes an optional front-end widget that shows popular pages/posts being viewed right now (data comes from Google Analytics Real Time API).
145
- 11. Better Google Analytics includes an optional front-end widget that allows you to display your Google Analytics stats based on any metric you wish.
146
- 12. Better Google Analytics General settings allows you to enable/disable all sorts of tracking features in your Google Analytics account.
147
- 13. Google Google Analytics custom dimension tracking allows you to track categories, authors, tags, publication year, user roles and registered users.
148
- 14. Social button engagement allows you to track things like Likes/Unlikes/Tweets/Shares right within your Google Analytics account.
149
- 15. Track clicks on the ads on your site within your Google Analytics account.
150
- 16. Issue monitoring settings allow you to utilize your Google Analytics account to keep on top of client-side issues with your site.
151
- 17. Advanced settings allow you to fine tune how the system works with Google Analytics.
 
 
 
152
 
153
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
154
  = 1.0.5 =
155
  * Enhancement: Made some changes so that Better Google Analytics Pro can be uploaded manually from the "Upload Plugin" feature of WordPress
156
  * Added internal framework for future option that allows users to auto-configure their Google Analytics account (waiting for Google Analytics Management API approval from Google before we can roll it out)
1
  === Better Google Analytics ===
2
  Contributors: digitalpoint
3
+ Tags: analytics, google analytics, universal analytics, statistics, tracking, code, dashboard, analytics dashboard, google analytics dashboard, google analytics plugin, google analytics widget, reports, charts, multisite, api, stats, web stats, visits, javascript, pageviews, marketing, widget, realtime, real time, youtube, outbrain, taboola, adsense, twitter, pinterest, linkedin, facebook, google, digitalpoint
4
  Donate link: https://marketplace.digitalpoint.com/better-analytics.3354/item#utm_source=readme&utm_medium=wordpress&utm_campaign=plugin
5
  Requires at least: 3.8
6
  Tested up to: 4.2.2
7
+ Stable tag: 1.0.6
8
  License: GPLv2
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
 
11
  Track everything with Google Analytics (clicked links, emails opened, YouTube videos being watched, etc.). Includes real time Analytics dashboard.
12
 
13
  == Description ==
14
+ The Better Google Analytics plugin allows you to easily add Google Analytics code to your website and gives you the power to track virtually everything. Better Google Analytics includes heat maps, reports, charts, events and site issue tracking in your WordPress admin area without the need to log into your Google Analytics account.
15
+
16
+ > <strong>Simple To Setup</strong><br>
17
+ >
18
+ > The Better Google Analytics plugin can automatically configure your Google Analytics account to maximize what you can track with the minimum amount of effort. Can automatically set various options on your Google Analytics account on your behalf as well as create custom dimensions and map them to where they need to go. If you are setting up a brand new site, this plugin can even create a brand new Web Property within your selected Google Analytics account if you wish. All with a single click.
19
 
20
  Better Google Analytics utilizes all the latest and greatest features of Google Analytics (Universal analytics, user-ID session unification, event tracking, campaign tracking, custom dimensions, server-side tracking, social engagement tracking, remarketing, etc.)
21
 
83
  * Statistics based on selectable Analytics metric
84
 
85
  > <strong>Better Analytics Pro</strong><br>
86
+ >
87
  > If you would like additional advanced functions for Google Analytics, we offer a Pro version.
88
  >
89
  > * Additional ad networks for ad click tracking
100
  == Installation ==
101
  1. Upload `better-analytics` folder to the `/wp-content/plugins/` directory.
102
  1. Activate the Better Google Analytics plugin through the 'Plugins' menu in the WordPress admin area.
103
+ 1. Link your Google Analytics account under 'Settings -> Better Analytics -> API'.
104
+ 1. Pick your Google Analytics Web Property ID under 'Settings -> Better Analytics -> General'.
105
+
106
+ It's probably a good idea to disable any other Google Analytics plugins/systems you may have installed, unless you are intentionally wanting to feed data into multiple Analytics Web Properties.
107
+
108
+ = Google PageSpeed =
109
+ If you are using Google PageSpeed to combine JavaScript files, you will want to define an exclusion for the Better Google Analytics JavaScript file with the following directives:
110
+
111
+ > <strong>Apache</strong><br>
112
+ > ModPagespeedDisallow "\*better-analytics/js/loader.php\*"
113
+
114
+ > <strong>Nginx</strong><br>
115
+ > pagespeed Disallow "\*better-analytics/js/loader.php\*"
116
 
117
  == Frequently Asked Questions ==
118
+ = What are the requirements of the Better Google Analytics plugin? =
119
+ You need a WordPress site (of course), running WordPress 3.8 or higher and a Google Analytics account (which is [free over here](https://www.google.com/analytics/) if you don't already have a Google Analytics account).
120
 
121
+ = Can Better Google Analytics be used with legacy Google Analytics code? =
122
+ No, the Better Google Analytics plugin is for Google Universal Analytics. You can upgrade any old non-Universal Google Analytics property to support both legacy and Universal under your [Google Analytics Property Settings](https://www.google.com/analytics/web/?#management/Settings/).
123
 
124
  = Can you add [insert feature here] to Better Google Analytics? =
125
  If it's possible and it makes sense, then yes. The best way to put in a feature request for Better Google Analytics would be to create a thread in the [support forum over here](https://forums.digitalpoint.com/forums/better-analytics.31/#utm_source=readme&utm_medium=wordpress&utm_campaign=plugin).
126
 
127
+ = I speak a language that isn't supported by Better Google Analytics, can I help translate it? =
128
  Yes. Unfortunately we don't speak every language in the world, so if you would like to help with translating the Better Google Analytics plugin, please contact us in the [support forum over here](https://forums.digitalpoint.com/forums/better-analytics.31/#utm_source=readme&utm_medium=wordpress&utm_campaign=plugin).
129
 
130
  = Does Better Google Analytics Support A WordPress Multisite Network? =
136
  = How can I ensure you don't really have access to my Google Analytics data? =
137
  The way OAuth2 works with your Google Analytics account, it wouldn't be possible for us to access your Google Analytics data even if we wanted to (which we don't). If you utilize the default Google Analytics API project credentials, the system will ask you for permission to access your data. Google will then issue a one-time use code that is exchanged for OAuth2 credentials that are used when making Google Analytics API calls. <strong>The code is one-time use</strong> (meaning if someone intercepted it and redeemed it for credentials, you wouldn't be able to yourself). After your site redeems the code, it's no longer valid. The resulting credentials are stored inside your installation and are never sent anywhere. That being said, if you are still worried about the security of your Google Analytics data, you are able to utilize your own Google Analytics API project credentials (it's just a little more work for you to set up that Google API project - the only API type that you need to enable under that project is the Google Analytics API).
138
 
139
+ == Note To Other Google Analytics Plugin Authors ==
140
+
141
+ Truthfully, there are far too many Google Analytics plugins for WordPress that generally do the same thing (especially the ones that simply add Google Analytics code to WordPress pages). If any Google Analytics plugin authors are interested in somehow consolidating plugins, let us know (not really sure how that would work to be honest, but something we could brainstorm and figure out the best way to do it that works for everyone).
142
+
143
  == CDN ==
144
 
145
  The JavaScript used by Better Google Analytics should be able to be cached properly by content delivery networks (it has been tested with CloudFlare). This means if your site uses CloudFlare, the JavaScript code used by Google Analytics will be cached in their data centers and delivered to end users via the closest data center (long story short is that it will make for a faster user experience).
156
  2. Google Analytics dashboard showing page views by normalized categories for the last month.
157
  3. Google Analytics dashboard showing organic search traffic by country for the last 3 months.
158
  4. Google Analytics dashboard showing sessions by date for the last 3 months.
159
+ 5. Google Analytics dashboard showing the publication year of posts being viewed by users coming in through organic search for the last month.
160
+ 6. Google Analytics dashboard showing page views by normalized tags for the last month.
161
+ 7. One of over 2,000 metric/segment combinations for Google Analytics weekly heat maps (showing all sessions for the last 4 weeks).
162
+ 8. Stacked area percent charts of your Google Analytics data allow you to see historical changes (browser usage for the last 10 years shows the rise of Chrome and the fall of Internet Explorer).
163
+ 9. Better Google Analytics event report shows things like external links being clicked, YouTube video engagement, comments being created, etc. You are able to correlate that data against any other metrics from your Google Analytics account. For example maybe you wanted to see what countries users are in that watch YouTube videos.
164
+ 10. Better Google Analytics issue monitoring report alerts to you client-side issues with your site. Things like invalid pages being accessed (404), JavaScript errors, images not loading, embedded YouTube videos that the author removed, etc.
165
+ 11. An automated system that is able to check your Google Analytics account and helps you configure your Google Analytics web property settings properly is included.
166
+ 12. A built-in auto-configure mode takes the hassle out of setting up your Google Analytics account for all tracking options.
167
+ 13. Better Google Analytics includes an optional front-end widget that shows popular pages/posts being viewed right now (data comes from Google Analytics Real Time API).
168
+ 14. Better Google Analytics includes an optional front-end widget that allows you to display your Google Analytics stats based on any metric you wish.
169
+ 15. Better Google Analytics General settings allows you to enable/disable all sorts of tracking features in your Google Analytics account.
170
+ 16. Google Google Analytics custom dimension tracking allows you to track categories, authors, tags, publication year, user roles and registered users.
171
+ 18. Social button engagement allows you to track things like Likes/Unlikes/Tweets/Shares right within your Google Analytics account.
172
+ 19. Track clicks on the ads on your site within your Google Analytics account.
173
+ 19. Issue monitoring settings allow you to utilize your Google Analytics account to keep on top of client-side issues with your site.
174
+ 20. Advanced settings allow you to fine tune how the system works with Google Analytics.
175
 
176
  == Changelog ==
177
+ = 1.0.7 =
178
+ * Feature: Added support for tracking RevContent ad clicks
179
+
180
+ = 1.0.6 =
181
+ * Added stubs for Better Google Analytics eCommerce module
182
+ * Bug: Fixed cosmetic issue on "Test Setup" page when you have linked a Google Analytics with multiple profiles that all share the same web property ID
183
+ * Bug: Prevent converting emails to HTML if something else already converted it to HTML beforehand
184
+ * Feature: Auto-Configure (if your Google Analytics account is linked, this option will be available on the "Test Setup" page) - will configure your Google Analytics property and profile via the Google Analytics API (can set industry vertical, site search parameters, Ecommerce tracking options, create custom dimensions and then map those as necessary)
185
+ * Feature: Added option to create a new Web Property & Profile/View under your existing Google Analytics account automatically (useful if you are setting up a new site)
186
+ * Feature: Added better_analytics_metrics WordPress filter to hook into Google Analytics metrics list
187
+ * Feature: Added better_analytics_dimensions WordPress filter to hook into Google Analytics dimensions list
188
+ * Feature: Added better_analytics_segments WordPress filter to hook into Google Analytics segments list
189
+ * Enhancement: If user has already linked a Google account without Google Analytics access, discard the authentication tokens
190
+ * Enhancement: If a user revokes OAuth2 access to their Google Analytics account, discard the authentication tokens
191
+ * Enhancement: Check for Google Analytics account access when user links a new Google account
192
+ * Enhancement: Check if Google Analytics Web Property/Profile would benefit from updating before blindly doing it when requested by site admin
193
+ * Enhancement: Check Google Analytics API quota when using write functions when Auto-Configure function is making changes to Google Analytics account (write operation quota is more tightly controlled by Google)
194
+ * Enhancement: Added 3 additional Google Analytics dimensions for reporting on dashboard widget
195
+ * Usability: Added links to help new users with configuration (link to create new Google Analytics account, link to configure Google Analytics API, link to new Auto-Configuration area, etc.)
196
+ * Security: When requesting Google Analytics API edit permissions (when Auto-Configuration is used), make that permissions request only for a one-time use token (don't store or have long-term tokens that allow write access)
197
+
198
  = 1.0.5 =
199
  * Enhancement: Made some changes so that Better Google Analytics Pro can be uploaded manually from the "Upload Plugin" feature of WordPress
200
  * Added internal framework for future option that allows users to auto-configure their Google Analytics account (waiting for Google Analytics Management API approval from Google before we can roll it out)