Skip to content

Instantly share code, notes, and snippets.

View postman31's full-sized avatar

Dmytro Bulakh postman31

View GitHub Profile
<html>
<head>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
</script>
</head>
<body>
<html>
<head>
<!-- Google Analytics snippet -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
</script>
</head>
<html>
<head>
<style media="screen">
.red {
background-color: #F55D5B;
padding: 30px;
}
.bordered {
border: 2px solid #518CB6;
@postman31
postman31 / pre-ga tag.HTML
Last active July 18, 2017 19:07
UA plugins with GTM
<script>
(function(i,s,o,g,r,a,m){ // Modified UA function to pre-set 'ga' queue forming.
var ga2fb = function(tracker) { // plugin constructor
this.tracker = tracker;
console.log('hello from constructor');
// Copy the original hit dispatch function
var originalSendHitTask = this.tracker.get('sendHitTask');
// Modify the existing hit dispatcher to log a copy of the hit
this.tracker.set('sendHitTask', function(model) {
function () {
var customTask = function(model) {
// if using other task then custom don't forget to save and call the original task
// save the original task
var originalOtherTask = model.get('checkProtocolTask')
var hitType = model.get('hitType');
if (hitType == 'event') {
var eventCategory = model.get('eventCategory')
var eventAction = model.get('eventAction')
}
@postman31
postman31 / ended-campaign.js
Last active April 2, 2018 14:25
simple function to check whether the campaign is ended
/**
* Checks if campaig has and end date later then today
*
* @return {string} 'ENDED' if true 'IN PROGRESS' otherwise.
* example usage:
* while (campaignIterator.hasNext()) {
* var campaign = campaignIterator.next();
* if (endedStatus(campaign) == 'ENDED') continue
* }
*/
@postman31
postman31 / override_push.js
Created October 17, 2018 09:51
training push override
var someArray = []
someArray.push = function (element){
//Do what you want here...
if (element) {
console.log (element)
}
return Array.prototype.push.apply(this,arguments);
}
@postman31
postman31 / GTM notifikator.gs
Created August 1, 2018 10:34
Notifies you about pending changes in your GTM workspaces by email
function myFunction() {
try {
var message = ''
var response = TagManager.Accounts.list()
response.account.map(function(account) {
Logger.log('fetching changes for %s', account.name)
var containers = TagManager.Accounts.Containers.list(account.path)
Utilities.sleep(5000)
if (!containers.container) {
Logger.log('no containers for %s', account.name)
@postman31
postman31 / gist:601d7bb36bd8a6e08e92390ef6044c0a
Created February 19, 2019 12:56
string to nested object
var plain = {
'data.analytics.name': 'coehn',
'data.analytics.role': 'ninja'
}
var converted = function (plainObj) {
var converted = {}
for (var plainKey in plainObj) {
var nextStep = converted
var splitted = plainKey.split('.')
function main() {
var budgetOrderIterator = AdWordsApp.budgetOrders()
.withCondition("Status = ACTIVE")
.get();
while (budgetOrderIterator.hasNext()) {
var budget = budgetOrderIterator.next();
Logger.log('getName %s, getSpendingLimit %s, getStartDateTime %s',
budget.getName(), budget.getSpendingLimit(), budget.getStartDateTime())
}
var available = budget.getSpendingLimit()