Tip: Hét alternatief voor Google Optimize & A/B-testen is itClicked.nl.

Dashboarding & analytics

Parameters doorsturen naar Calendly voor Offline Conversie Tracking of UTM Tagging

Door:

Christian Broekmeulen

26 juni 2024

Wil je weten welke Google Ads-klikken resulteren in afspraken of wil je meer inzicht in de herkomst van je afspraken via UTM-tagging? In deze blogpost leer je hoe je aangepaste parameters kunt doorsturen naar Calendly om zo de effectiviteit van je marketingcampagnes beter bij te houden.

Google Click ID (gclid) meesturen naar Calendly

We hebben een script geschreven om de gclid toe te voegen aan de Calendly-URL’s zodat deze later beschikbaar is naast een afspraak in de Calendly backend. We maken gebruik van de Salesforce UUID-kolom binnen Calendly om de aangepaste parameters (gclid) in op te slaan.

Plaats het onderstaande script op elke pagina met een link naar een Calendly-afspraak:

<script>
    // Select the <a> element
    var linkElement = document.querySelector('a[onclick*="Calendly.initPopupWidget"]');

    if (linkElement) {
        // Extract the existing URL from the onclick attribute
        var onclickAttr = linkElement.getAttribute('onclick');
        var urlMatch = onclickAttr.match(/url:\s*'([^']+)'/);

        if (urlMatch && urlMatch[1]) {
            var calendlyUrl = urlMatch[1];

            // Check if the URL already has parameters
            var separator = calendlyUrl.indexOf('?') !== -1 ? '&' : '?';

            // Append the 'salesforce_uuid' parameter
            calendlyUrl = calendlyUrl + separator + 'salesforce_uuid={{gclid}}';

            // Update the onclick attribute with the new URL
            var newOnclickAttr = onclickAttr.replace(urlMatch[1], calendlyUrl);
            linkElement.setAttribute('onclick', newOnclickAttr);
        }
    }
</script>

Verander de {{gclid}} parameter in de code naar de variabele met de waarde van je Google Click ID:

calendlyUrl = calendlyUrl + separator + 'salesforce_uuid={{gclid}}';

Meer informatie over het uitlezen en opslaan van de Google Click ID via Google Tag Manager vind je in het artikel van Nino over offline conversie tracking.

Als de gclid wordt meegestuurd, zie je deze in de ‘Salesforce UUID’ kolom bij het exporteren van afspraken binnen Calendly. Je kunt deze kolom gebruiken voor koppelingen tussen bijvoorbeeld Zapier en Calendly om automatisch offline conversies te meten binnen Google Ads, zonder handmatige exports en imports.

Parameters doorsturen naar Calendly voor Offline Conversie Tracking of UTM Tagging

UTM tagging meesturen met Calendly

Calendly heeft ook kolommen om de campagne, bron, medium, term en content aan een afspraak te koppelen. Deze worden gevuld als we de UTM-tagging meegeven met de Calendly-afspraaklink. Dit doen we door de UTM-tagging beschikbaar te maken in alle pagina-URL’s van de website indien aanwezig.

Voer de onderstaande code uit op alle pagina’s met een Calendly-link en controleer daarbij of UTM-tagging aanwezig is:

<script>
  var domainsToDecorate = [
          'rooza.nl' //add or remove domains (without https or trailing slash)
      ],
      queryParams = [
          'utm_medium', //add or remove query parameters you want to transfer
          'utm_source',
          'utm_campaign',
          'utm_adgroup',
          'utm_content',
          'utm_term'
      ]
 //decorate all links on the page
  var links = document.querySelectorAll('a');
// check if links contain domain from the domainsToDecorate array and then decorates
  for (var linkIndex = 0; linkIndex < links.length; linkIndex++) {
      for (var domainIndex = 0; domainIndex < domainsToDecorate.length; domainIndex++) {
          if (links[linkIndex].href.indexOf(domainsToDecorate[domainIndex]) > -1 && links[linkIndex].href.indexOf("#") === -1) {
              links[linkIndex].href = decorateUrl(links[linkIndex].href);
          }
      }
  }
// decorates the URL with query params
  function decorateUrl(urlToDecorate) {
    //urlToDecorate uncessary ?
    //check if there are any parameters existing
      var collectedQueryParams = [];
      for (var queryIndex = 0; queryIndex < queryParams.length; queryIndex++) {
          if (getQueryParam(queryParams[queryIndex])) {
              collectedQueryParams.push(queryParams[queryIndex] + '=' + getQueryParam(queryParams[queryIndex]))
          }
      }
   //YL: added as a fix to ensure url is not modified when UTMs are not in place
      if(collectedQueryParams.length < 1){ 
        urlToDecorate = urlToDecorate
      }
      else{
        urlToDecorate = (urlToDecorate.indexOf('?') === -1) ? urlToDecorate + '?' : urlToDecorate + '&';
      }
      return urlToDecorate + collectedQueryParams.join('&');
  }
  // borrowed from https://stackoverflow.com/questions/831030/
  // a function that retrieves the value of a query parameter
  function getQueryParam(name) {
      if (name = (new RegExp('[?&]' + encodeURIComponent(name) + '=([^&]*)')).exec(window.location.search))
          return decodeURIComponent(name[1]);
  }
</script>

Verander de code op rij 3 zodat het domein van je site overeenkomt:

          'rooza.nl' //add or remove domains (without https or trailing slash)

Als je Google Tag Manager gebruikt, kun je de onderstaande trigger gebruiken om te controleren of er UTM-tagging aanwezig is:

Parameters doorsturen naar Calendly voor Offline Conversie Tracking of UTM Tagging

De utm_source, utm_medium en utm_campaign URL-variabelen stel je als volgt in:

Parameters doorsturen naar Calendly voor Offline Conversie Tracking of UTM Tagging

Tip: Gebruik je Google Ads? Google Ads stuurt standaard geen UTM-tagging mee na klikken op de advertenties. Je kunt offline conversies instellen of UTM-tagging meesturen met behulp van een tracking template in de account- of campagne-instellingen:

Parameters doorsturen naar Calendly voor Offline Conversie Tracking of UTM Tagging

Een veel gebruikte tracking template voor de accountinstellingen is:

{lpurl}?utm_source=google&utm_medium=cpc&utm_campaign={campaignid}&utm_term={keyword}

Kom je er niet uit?

Neem vrijblijvend contact met ons op. Met onze ervaring op het gebied van website analytics vinden we zeker een oplossing.

Labels:

Online marketing specialist

Over de schrijver:

Christian Broekmeulen

Christian wordt als performance marketing specialist blij als het gaat over het behalen van positieve ROI. Zijn weapons of choice zijn Google Ads, Facebook Ads, LinkedIn ads, Amazon Ads en SEO. Hij deinst ook niet terug voor de realisatie van goede dashboards of Tagmanager implementaties. Vooral als het wat ingewikkelder wordt.

Online marketing dashboard?

Krijg met rapportages en dashboards inzicht in data met geavanceerde en/of maatwerk Google Analytics implementaties.

Meer informatie over online marketing dashboard.

  1. Beschikbaar online én als PDF
  2. Op maat gemaakt in je eigen huisstijl
  3. Eventueel inclusief (complexe) Google Analytics implementatie (zowel hands-on als advies)
  4. Praktisch altijd een koppeling met uw eigen databronnen mogelijk (CRM, Mailsysteem, Website, Social Media etc.)

Online marketing uitbesteden?

Dankzij veel ervaring met dashboarding & analytics en andere onderdelen van online marketing gaan we deze uitdaging graag aan.

Contact
0%