谷歌转换没有在PHP页面中注册


Google conversions not registering within PHP page

虽然我对编码相对较新,但我之前已经成功实现了许多跟踪代码,但在我的网站上注册一个转换代码时遇到了严重问题。

虽然我已经将其放入代码中PHP的相关部分,甚至进行了测试转换并在源代码中看到了它,但谷歌未能注册一次转换,目标仍然显示为"未验证"。

我读过各种各样的博客,以及谷歌对用PHP实现代码的看法,其中大多数似乎都不一致。如果有人有任何想法,我将不胜感激,因为这是跟踪我AdWords表现的关键指标。

下面是谷歌给我的代码,让我原封不动地实现:

<!-- Google Code for Almost there Conversion Page -->
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = 974608389;
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "d5KfCMunhgUQhbDd0AM";
var google_conversion_value = 0;
/* ]]> */
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="//www.googleadservices.com/pagead/conversion/974608389/?value=0&amp;label=d5KfCMunhgUQhbDd0AM&amp;guid=ON&amp;script=0"/>
</div>
</noscript>

现在,代码是谷歌希望你为PHP编辑的方式,在下面的小节中详细介绍:https://support.google.com/adwords/answer/1722054?hl=en-GB

<!-- Google Code for Almost there Conversion Page -->
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = 974608389;
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "d5KfCMunhgUQhbDd0AM";
if (<%= totalValue %) {
    var google_conversion_value = <%= totalValue %>;
}
/* ]]> */
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="//www.googleadservices.com/pagead/conversion/974608389/?value=0&amp;label=d5KfCMunhgUQhbDd0AM&amp;guid=ON&amp;script=0"/>
</div>
</noscript>

我已经断断续续地在这件事上浪费了大约3天的时间,花了足够长的时间试图点击广告并创建虚假账户来测试它以触发它。

作为另一种保护措施,我也将在下面完整地发布相关的PHP部分

这是一个触发以确认订阅付款的部分,这可能有助于了解你永远不会有太多信息,诊断问题。

<?php
/* Template Name: Subscription Confirmation */
  if (isset($_POST['activate_subscription']) && isset($_POST['token'])) {
    $activation = completeSubscription($_POST['token']);
    //completeSubscription Handles everything here. If this even runs, it's all gone wrong.
    $activate_failed = true;
  } else if (isset($_GET['token']) && isset($_GET['PayerID'])) {
    $transaction = getTransactionDetails($_GET['token']);
    if ($transaction['ACK'] == "Success") $sub = updateSubscriptionDetails($transaction);
  } else {
    header("Location: /join/membership/");
    exit();
  }

  get_header();
?>
<div class="row subhero">
  <div class="twelve columns">
    <?php if (!isset($activate_failed) && $transaction['ACK'] == "Success") { ?>
      <h1>Almost there!</h1>
      <p class="subheader">Thank you for configuring your subscription with PayPal.</p>
//***************** ANALYTICS CODE
<!-- Google Code for Subscription Conf Conversion Page -->
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = 974608389;
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "d5KfCMunhgUQhbDd0AM";
if (<%= totalValue %) {
    var google_conversion_value = <%= totalValue %>;
}
/* ]]> */
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="//www.googleadservices.com/pagead/conversion/974608389/?value=0&amp;label=d5KfCMunhgUQhbDd0AM&amp;guid=ON&amp;script=0"/>
</div>
</noscript>
//*********************END OF ANALYTICS CODE
  </div>
  </div>      
</div> <!-- end container -->
<div class="buyticketarea">
    <div class="row">
        <div class="eight columns offset-by-two">       

      <p class="subheader">Please confirm the following details. Once you proceed you will be billed immediately for your first month of <strong><?php echo $transaction['L_NAME0']; ?></strong> at <strong>&pound;<?php echo $transaction['L_AMT0']; ?>.</strong></p>
      <p class="subheader">Additionally, you will be billed <strong>&pound;<?php echo $transaction['L_AMT0']; ?></strong> on the <strong><?php echo date('j'); ?><sup><?php echo date('S'); ?></sup></strong> of each month, starting on <strong><?php echo getNextBillingDayHuman(); ?>.</strong></p>
      <p class="subheader">If you're happy to proceed...</p>
      <form method="post">
        <input type="hidden" name="sub_id" value="<?php echo $transaction['INVNUM']; ?>" />
        <input type="hidden" name="token" value="<?php echo $_GET['token']; ?>" />
        <input type="hidden" name="PayerID" value="<?php echo $_GET['PayerID']; ?>" />
        <input class="button" type="submit" name="activate_subscription" value="Activate Subscription" />
      </form>
    </div>
    </div>  
</div>

我觉得这行不对:

if (<%= totalValue %) {
    var google_conversion_value = <%= totalValue %>;
}

看看其他例子,它应该是:

if (<?php echo $totalValue ?>) {
    var google_conversion_value = <?php echo totalValue ?>;
}

但是,您没有设置$totalValue的值,所以可能所有转换都具有相同的值?在这种情况下,您应该只使用:

var google_conversion_value = 10;