Contact Form 7 & AdWords Conversion Tracking: verschil tussen versies
(5 tussenliggende versies door dezelfde gebruiker niet weergegeven) | |||
Regel 9: | Regel 9: | ||
Standaard gebruikt ''Contact Form 7'' een AJAX-object om een dankjewel-boodschap weer te geven. Je hebt dus geen 'traditionele' dankjewel-pagina waar je een AdWords Conversion Tracking-snippet kunt plaatsen. Hoe lost je dit op? | Standaard gebruikt ''Contact Form 7'' een AJAX-object om een dankjewel-boodschap weer te geven. Je hebt dus geen 'traditionele' dankjewel-pagina waar je een AdWords Conversion Tracking-snippet kunt plaatsen. Hoe lost je dit op? | ||
− | == | + | == Potentiële oplossingen == |
# '''Snippet incorporeren in thank-you-message (werkt niet meer):''' Incorporeer de conversion-tag (of het noscript-gedeelte) in het dankjewel-tekstveld. Dat scheen te werken in oudere versies, maar nu niet meer [https://www.en.advertisercommunity.com/t5/AdWords-Tracking-and-Reporting/how-to-implement-conversion-tracking-through-contact-form-7/m-p/468385#M21298], [https://www.youtube.com/watch?v=u1T0oXord_o in deze video rond 2:00] | # '''Snippet incorporeren in thank-you-message (werkt niet meer):''' Incorporeer de conversion-tag (of het noscript-gedeelte) in het dankjewel-tekstveld. Dat scheen te werken in oudere versies, maar nu niet meer [https://www.en.advertisercommunity.com/t5/AdWords-Tracking-and-Reporting/how-to-implement-conversion-tracking-through-contact-form-7/m-p/468385#M21298], [https://www.youtube.com/watch?v=u1T0oXord_o in deze video rond 2:00] | ||
+ | # '''on_sent_ok:''' Tot 2016/2017 leek dit de standaard-oplossing te zijn: Incorporeer de tracking-functie in de body van het formulier, en specificeer onder ''Additional Settings'' een ''on_send_ok''-event waarin deze functie wordt aangeroepen. Om een of andere reden is deze functionaliteit uitgefaseerd door de fabrikant van Contact Form 7. Eind 2017 werkt het wel, maar de plugin klaagt steeds dat het een fout is. Zie de casus hieronder voor details. | ||
# '''Hook:''' Voor Analytics kun je de betreffende functie aanroepen ahv. de juiste hook. Dat werkt vermoedelijk niet voor AdWords [https://contactform7.com/tracking-form-submissions-with-google-analytics/][https://www.en.advertisercommunity.com/t5/AdWords-Tracking-and-Reporting/how-to-implement-conversion-tracking-through-contact-form-7/td-p/371168] | # '''Hook:''' Voor Analytics kun je de betreffende functie aanroepen ahv. de juiste hook. Dat werkt vermoedelijk niet voor AdWords [https://contactform7.com/tracking-form-submissions-with-google-analytics/][https://www.en.advertisercommunity.com/t5/AdWords-Tracking-and-Reporting/how-to-implement-conversion-tracking-through-contact-form-7/td-p/371168] | ||
− | # '''Aparte dankjewel-pagina:''' Je kunt desgewenst een aparte dankjewel-pagina specificeren [https://contactform7.com/redirecting-to-another-url-after-submissions/]. Dit wordt afgeraden | + | # '''Aparte dankjewel-pagina:''' Je kunt desgewenst een aparte dankjewel-pagina specificeren [https://contactform7.com/redirecting-to-another-url-after-submissions/]. Dit wordt afgeraden maar belangrijker nog: Je kunt niet zomaar per formulier een aparte dankjewel-pagina specificeren. Dat maakt dit op z'n best een halve oplossing |
− | # '''Gebruik Analytics Conversion Tracking:''' | + | # '''Gebruik Analytics Conversion Tracking:''' Lijkt een goede oplossing te zijn, maar is het mogelijk niet: Je kunt niet op een gemakkelijke manier verschillende formulieren tracken |
− | # ''' | + | # '''Gebruik een andere formulier-plugin:''' Vermits ik dat zelf kan bepalen, is dit de beste oplossing die ik ken. Contact Form 7 is niet meer van deze tijd. |
− | == | + | == on_sent_ok-oplossing (casus zomer 2017) == |
Deze implementatie is een tweetrapsraket: | Deze implementatie is een tweetrapsraket: | ||
* De ''functies'' uit de snippet is ondergebracht in de body van het formulier | * De ''functies'' uit de snippet is ondergebracht in de body van het formulier | ||
− | * De ''aanroep'' van de hoofdfunctie, is ondergebracht in het ''Additional Settings-veld'' van het formulier | + | * De ''aanroep'' van de hoofdfunctie, is ondergebracht in het ''Additional Settings-veld'' van het formulier. |
− | Deze implementatie is gebaseerd op ''optie 2'' uit [https://keetrax.com/blog/2016/11/update-adwords-conversion-code-cf7/ deze handleiding]. Bij het aanmaken van de conversion snippet, kun je in AdWords inderdaad kiezen tussen ''Page load'' en ''Click''. | + | Deze implementatie is gebaseerd op ''optie 2'' uit [https://keetrax.com/blog/2016/11/update-adwords-conversion-code-cf7/ deze handleiding]. Bij het aanmaken van de conversion snippet, kun je in AdWords inderdaad kiezen tussen ''Page load'' en ''Click''. Zoals al eerder aangegeven, wordt deze functionaliteit verwijderd uit Contact Form 7. |
=== Formuliercode === | === Formuliercode === | ||
[[file:20170814-1158.png|thumb|Formuliercode op een WordPress-site]] | [[file:20170814-1158.png|thumb|Formuliercode op een WordPress-site]] | ||
− | |||
− | |||
<pre> | <pre> | ||
Regel 64: | Regel 63: | ||
goog_report_conversion when someone clicks on the | goog_report_conversion when someone clicks on the | ||
chosen link or button. --> | chosen link or button. --> | ||
+ | |||
<script type="text/javascript"> | <script type="text/javascript"> | ||
/* <![CDATA[ */ | /* <![CDATA[ */ | ||
Regel 72: | Regel 72: | ||
w.google_remarketing_only = false; | w.google_remarketing_only = false; | ||
} | } | ||
− | // | + | |
+ | // DEZE FUNCTIE AANROEPEN ON_SENT_OK | ||
+ | |||
goog_report_conversion = function(url) { | goog_report_conversion = function(url) { | ||
goog_snippet_vars(); | goog_snippet_vars(); | ||
Regel 134: | Regel 136: | ||
Inderdaad: In de ideale wereld is er een betere plek voor deze tag. Het is niet anders - En het beïnvloed de werking enkel in nogal theoretische omstandigheden. | Inderdaad: In de ideale wereld is er een betere plek voor deze tag. Het is niet anders - En het beïnvloed de werking enkel in nogal theoretische omstandigheden. | ||
+ | |||
+ | == on_sent_ok-oplossing + 2 formulieren (casus winter 2017) == | ||
+ | |||
+ | Zelfde situatie als hiervoor, maar nu voor een andere site, met twee formulieren. Lukt het om beide formulieren los van elkaar te tracken? | ||
+ | |||
+ | Details: | ||
+ | |||
+ | * Twee formuleren: ''Contactformulier KG'' en ''Contactforumulier KG Amsterdam'' | ||
+ | * Bijbehorende conversion-labels: ''epkCCLre_...'' en ''I1QaCP_...'' | ||
+ | * Bij beide ''on_sent_ok''-events wordt dezelfde code uitgevoerd: ''on_sent_ok: "typeof goog_report_conversion === 'function' && goog_report_conversion();"'' - Gaat dat ok? | ||
== Bronnen == | == Bronnen == | ||
* https://keetrax.com/blog/2016/11/update-adwords-conversion-code-cf7/ | * https://keetrax.com/blog/2016/11/update-adwords-conversion-code-cf7/ |
Huidige versie van 11 dec 2017 om 22:40
Zie ook Contact Form 7 & Analytics Conversion Tracking.
Let op
Sinds de zomer van 2017 werkt AdWords Conversion Tracking eigenlijk niet meer. Gebruik daarom Analytics Conversion Tracking. Dit artikel is daarom niet meer actueel
Het probleem
Standaard gebruikt Contact Form 7 een AJAX-object om een dankjewel-boodschap weer te geven. Je hebt dus geen 'traditionele' dankjewel-pagina waar je een AdWords Conversion Tracking-snippet kunt plaatsen. Hoe lost je dit op?
Potentiële oplossingen
- Snippet incorporeren in thank-you-message (werkt niet meer): Incorporeer de conversion-tag (of het noscript-gedeelte) in het dankjewel-tekstveld. Dat scheen te werken in oudere versies, maar nu niet meer [1], in deze video rond 2:00
- on_sent_ok: Tot 2016/2017 leek dit de standaard-oplossing te zijn: Incorporeer de tracking-functie in de body van het formulier, en specificeer onder Additional Settings een on_send_ok-event waarin deze functie wordt aangeroepen. Om een of andere reden is deze functionaliteit uitgefaseerd door de fabrikant van Contact Form 7. Eind 2017 werkt het wel, maar de plugin klaagt steeds dat het een fout is. Zie de casus hieronder voor details.
- Hook: Voor Analytics kun je de betreffende functie aanroepen ahv. de juiste hook. Dat werkt vermoedelijk niet voor AdWords [2][3]
- Aparte dankjewel-pagina: Je kunt desgewenst een aparte dankjewel-pagina specificeren [4]. Dit wordt afgeraden maar belangrijker nog: Je kunt niet zomaar per formulier een aparte dankjewel-pagina specificeren. Dat maakt dit op z'n best een halve oplossing
- Gebruik Analytics Conversion Tracking: Lijkt een goede oplossing te zijn, maar is het mogelijk niet: Je kunt niet op een gemakkelijke manier verschillende formulieren tracken
- Gebruik een andere formulier-plugin: Vermits ik dat zelf kan bepalen, is dit de beste oplossing die ik ken. Contact Form 7 is niet meer van deze tijd.
on_sent_ok-oplossing (casus zomer 2017)
Deze implementatie is een tweetrapsraket:
- De functies uit de snippet is ondergebracht in de body van het formulier
- De aanroep van de hoofdfunctie, is ondergebracht in het Additional Settings-veld van het formulier.
Deze implementatie is gebaseerd op optie 2 uit deze handleiding. Bij het aanmaken van de conversion snippet, kun je in AdWords inderdaad kiezen tussen Page load en Click. Zoals al eerder aangegeven, wordt deze functionaliteit verwijderd uit Contact Form 7.
Formuliercode
<div class="col span_6"> <p>Wie können wir Ihnen weiterhelfen?<br /> [textarea* your-message] </p> <p>Optional können Sie eine Datei anhängen. [file file-255 limit:8mb filetypes:pdf|jpg|jpeg|zip|png|doc|docx|xls|xlsx|txt|rtf|otf|ptt|pttx id:bestand]</p> </div> <div class="col span_6 col_last"> <p>Ihr Name<br /> [text* your-name] </p> <p>Ihre Emailadresse <br /> [email* your-email] </p> <p>Ihre Telefonnummer<br /> [text* Telefoon]</p> </div> <div class="col span_12"> <p style="margin-top:25px;">[submit "Nachricht senden"]</p> <!-- Google Code for Ingevuld formulier landing page Conversion Page In your html page, add the snippet and call goog_report_conversion when someone clicks on the chosen link or button. --> <script type="text/javascript"> /* <![CDATA[ */ goog_snippet_vars = function() { var w = window; w.google_conversion_id = XXXXXXXXX; w.google_conversion_label = "XXXXXXXXXXXXXXXXXXX"; w.google_remarketing_only = false; } // DEZE FUNCTIE AANROEPEN ON_SENT_OK 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); } } /* ]]> */ </script> <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion_async.js"> </script> </div>
Additional Settings
Deze code is ingevoerd onder Additional Settings:
on_sent_ok: "typeof goog_report_conversion === 'function' && goog_report_conversion();"
Werking
Meldingen Google Tag Assistant
De meldingen van Google Tag Assistant in detail:
No HTTP response detected
Het staat er in grijs, maar is ongeveer de essentie: De code staat op de pagina, maar wordt niet uitgevoerd.
Missing CDATA comments
Dit is wat Mike Martel van Keetrax.com ervan zegt:
- It’s true that due to the way WordPress formats the code, the CDATA comments become invalid.
- Google Tag Assistant will notify you of this. However, this shouldn’t prevent the AdWords
- code from working.
Conversion Value: not set
In moderne versies van de AdWords-snippet, wordt deze waarde niet vermeld. Ik vermoed dat Tag Assistant wat dat betreft achterloopt.
Code should be placed directly above the closing body-tag
Inderdaad: In de ideale wereld is er een betere plek voor deze tag. Het is niet anders - En het beïnvloed de werking enkel in nogal theoretische omstandigheden.
on_sent_ok-oplossing + 2 formulieren (casus winter 2017)
Zelfde situatie als hiervoor, maar nu voor een andere site, met twee formulieren. Lukt het om beide formulieren los van elkaar te tracken?
Details:
- Twee formuleren: Contactformulier KG en Contactforumulier KG Amsterdam
- Bijbehorende conversion-labels: epkCCLre_... en I1QaCP_...
- Bij beide on_sent_ok-events wordt dezelfde code uitgevoerd: on_sent_ok: "typeof goog_report_conversion === 'function' && goog_report_conversion();" - Gaat dat ok?