2016-08-09 9 views
5

Я огляделся и не видел никаких недавних сообщений об этом. Большинство из них были намного старше (3-6 лет).Как запустить Google Adwords Conversion внутри функции с меткой преобразования, переданной функции

Для контекста я являюсь разработчиком и разработчиками общих разделов SEO для кучи форм, которые являются все ajax. Таким образом, я должен преобразовать конверсию на клик и передать ярлык преобразования в функцию вместо того, чтобы иметь разные фрагменты на разных страницах.

Сейчас я называю свою функцию следующим образом:

triggerConversion([MYCONVERSIONID], [UNIQUECONVERSIONLABEL]); 

то у меня есть функция:

function triggerConversion(conversionID, conversionLabel){ 
    console.log(conversionLabel); 
    goog_snippet_vars = function() { 
     var w = window; 
     w.google_conversion_id = conversionID; 
     w.google_conversion_label = conversionLabel; 
     w.google_remarketing_only = false; 
    } 
    // DO NOT CHANGE THE CODE BELOW. 
    goog_report_conversion = function(url) { 
     goog_snippet_vars();  
     window.google_conversion_format = "3"; 
     var opt = new Object(); 
     opt.onload_callback = function() { 
      if (typeof(url) != 'undefined') { 
       window.location = url; 
      } 
     } 
     var conv_handler = window['google_trackConversion']; 
     if (typeof(conv_handler) == 'function') { 
      conv_handler(opt); 
     } 
    } 
} 

Это не работает, как и планировалось. Параметры для работы работают правильно, но преобразование не запускается.

Там, кажется, две проблемы:

  1. Использование Google Tag Assistant (а Google при условии расширения хром), оказывается, что эта функция вызывается при загрузке (что не должно быть). Помощник тега показывает ошибку при загрузке страницы, что идентификатор поврежден и метка отсутствует. Оба являются только функциональными параметрами, поэтому, конечно, его искажение при нагрузке.

  2. Это должно быть вызвано только вызовом функции. Это должно происходить только программно, в этом случае при успешном вызове ajax.

Не знаете, как действовать. Но в конце дня я хочу отправить это преобразование только тогда, когда ajax возвращается успешно не при загрузке. Мне также нужно передать идентификатор и метку функции успешно.

Большое спасибо заранее.

ответ

0

Похоже, вы пытаетесь использовать асинхронную версию скрипта преобразования Google Adwords. Прежде всего, убедитесь, что вы загружаете правильный сценарий (в идеале в head вашего документа):

<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion_async.js" charset="utf-8"></script> 

Во-вторых, вам не нужно устанавливать переменные преобразования на объект окна. При использовании сценария async вы можете просто позвонить google_trackConversion с соответствующими параметрами напрямую. Таким образом, ваша функция может выглядеть примерно так:

function triggerConversion(conversionID, conversionLabel){ 
    console.log(conversionLabel); 
    var conv_handler = window['google_trackConversion']; 
    if (typeof(conv_handler) == 'function') { 
     conv_handler({ 
      google_conversion_id: conversionID, 
      google_conversion_label: conversionLabel, 
      google_remarketing_only: false 
     }); 
    } 
} 
+0

Я попробую. если это сработает, я дам вам 50. –

+0

спасибо за помощь. –

 Смежные вопросы

  • Нет связанных вопросов^_^