Support » Plugins » [Plugin: Contact Form 7] Google Analytics goals using the using the _trackPageview function

  • I need to track how many inquiries comes from the website through the contact form.

    Searching through forums I could only find a hack how to disable the Ajax and send the user to a “thank you” page instead.

    Google Analytics, however, says Javascript events can be tracked even if the user is not sent to a “thank you” page:

    By using the _trackPageview function, you can assign a page filename to any Javascript event.

    To track an event, call _trackPageview() with an argument specifying a name for the event. For example:


    HTML Code Examples

    The following illustrates how to log an onClick event:

    Trouble is I have no clue where this code would be added and exactly how it would look. Any help appreciated!!

Viewing 15 replies - 1 through 15 (of 25 total)
  • Yes. Good point. You don’t have to send to meaningless “Thank you page.”

    And the recent version of Contact Form 7 has a feature just what you need.

    Contact Form 7 1.10

    You can use on_sent_ok action hook for that.

    Good luck.

    Thank you! This is great!! Just what I need.

    I upgraded to Contact Form 7 1.10 and set up my goals in the form and in Google Analytics.

    The only issue now is that the confirmation box message on the page (Your message has been sent etc…) has disappeared (!)

    This is true for both Safari and Firefox on Mac OS X

    It should work well with the response message box. If not working, there might be errors of JavaScript or something blocking it to work.

    I had a similar problem, but discovered that it was down to Google Analytics for WordPress, I’d disabled Admin tracking, so when it finds an Admin session the Analytics code isn’t included and then Contact Form 7 errors because the Javascript function doesn’t exist. Logging out of the Admin session fixed it.


    What if you weren’t forwarding to a meaningless “Thank You Page”, but an Important “information page” upon completion of the form. In my case, I have to have a customer fill out a waiver prior to being able to purchase workout time in my store.

    Is it possible to redirect the page upon completion?



    Just a few questions about how this works. I too am looking for a way to have my Google Analytics Conversion to work. I have read all the links posted here and I feel really close but I am still not able to see any results days later in my analytics.

    The form I would like to track:

    What I have added to my Additional Settings:
    on_sent_ok: “pageTracker._trackPageview(‘/contactemail-us/thanks.php’);”

    I am still not quite sure what this line does in terms of action and where I should check to see if its working? Does it put thanks.php in the url?

    If anyone sees a blatant mistake or has any advice or more details on how this command works please please let me know!


    @kidalynch Your on_sent_ok code seems correct. But it never works. Because on_sent_ok hook is called in the JavaScript (Ajax) function of Contact Form 7, and the JavaScript does not exist on your site.

    Check your footer.php in your theme. I guess you can’t see <?php wp_footer(); ?> in it. Maybe you can get it to work by using wp_footer() correctly.

    takayukister, thanks for the tip.

    I went through and made sure that my api hooks were all in tact and where they needed to be. Especially <?php wp_footer(); ?> which now appears just before the </body> tag in my code.

    However, now I have lost the confirmation message box? I know you mentioned previously that this could be caused by a js error. I am using quite a few js files including protoype and I wanted to be sure that the jquery.js file that contact form 7 uses isn’t the conflict. If it is I have to find another solution.

    Also, by using the setting mentioned above: on_sent_ok: “pageTracker._trackPageview(‘/contactemail-us/thanks.php’);”

    should I be seeing thanks.php in my url after sending the form? Please let me know. I really really really appreciate the feedback.


    Okay, seems all working correctly now. I think no problem remains. That’s good.

    Check out Google Analytics documents carefully. You’ll get that _trackPageview doesn’t mean redirection.

    The thanks.php is just a dummy path. Doesn’t mean jumping to thanks.php.

    You don’t have to worry. You’ll see ‘/contactemail-us/thanks.php’ log in your Google Analytics a few days later.



    You can use on_sent_ok action hook for that.

    I have

    I do not understand how to modify the following code as above.

    $on_sent_ok = $wpcf7_contact_form->additional_setting( 'on_sent_ok', false );
    				if ( ! empty( $on_sent_ok ) ) {
    					$on_sent_ok = array_map( 'wpcf7_strip_quote', $on_sent_ok );
    				} else {
    					$on_sent_ok = null;
    				$items['onSentOk'] = $on_sent_ok;

    If this is generic to any form on my site, how can a specific page file name be used effectively here?

    @clickbasics you can see an example on this article:

    Contact Form 7 1.10

    @takayukister “It should work well with the response message box. If not working, there might be errors of JavaScript or something blocking it to work.”

    ==> It works fine in Firefox, however in Safari (Mac) it doesn’t show the confirmation message.

    I use Thesis 1.5 on a dozen or so sites. I was hoping to use Contact 7 on them for lead generation form (and of course conversion tracking.)

    So it seems that I cannot use Contact 7 if I wish to use the event tracking like this:

    on_sent_ok "javascript:pageTracker._trackPageview('/contactforms/main/lead');"

    Note: The on_sent_ok is firing, I have tested that with a simple alert.

    But conversions are never registered with the /contactforms/main/lead “virtual” page view. I am assuming that there is something related to the API calls to Google Javascript Tracking… Google says:

    if your pages include a call to _trackPageview, _setAllowLinker _trackTrans(), your Analytics tracking code must be placed in your HTML code above any of these calls. In these cases the tracking code can be placed anywhere between the opening <body> tag and the JavaScript call.

    Thesis is very popular.. anyone have thoughts about how to make this work?

    I’m going to try putting the Analytics code in the header instead of the footer, but this is a real long-shot.

    @sitecreations it’s obviously a JavaScript issue though, I may be able to answer it if I can see your site’s HTML source. So where is you site?

    This one is at
    …and thanks

Viewing 15 replies - 1 through 15 (of 25 total)
  • The topic ‘[Plugin: Contact Form 7] Google Analytics goals using the using the _trackPageview function’ is closed to new replies.