Kiyoh Review Invite GTM tag template

7 minutes read

The Kiyoh Review Invite template sends review invitation emails to customers directly from Google Tag Manager by calling the Kiyoh API on order confirmation. It uses GTM’s sendPixel method to fire a GET request to the Kiyoh invitation endpoint with customer and order details as URL parameters. The template supports both Kiyoh and Klantenvertellen platforms, which share the same API but use different tenant identifiers.

Features

  • Sends review invitations via the Kiyoh/Klantenvertellen API without custom code
  • Supports both Kiyoh (international) and Klantenvertellen (Netherlands) platforms
  • Configurable invitation delay in days to time the email after delivery
  • Multi-language support: Dutch, English, German, and French
  • Fires as a lightweight pixel request with no script injection
  • Maps directly to Data Layer variables for customer and order information

Installation

Add the template to your GTM container from the Community Template Gallery, then create a new tag using the Kiyoh Review Invite type.

Field Reference

Field Required Description
API Hash Yes Your API authentication hash from the Kiyoh/Klantenvertellen dashboard
Location ID Yes The location identifier for your business within Kiyoh
Platform Yes Select Kiyoh (tenantId 98) or Klantenvertellen (tenantId 99)
Customer Email Yes The customer’s email address for the invitation
First Name No Customer’s first name for personalization
Last Name No Customer’s last name for personalization
Order ID No The order or transaction reference number
Delay No Number of days to wait before sending the invitation (e.g. 5 for five days after the order)
Language No Invitation email language: NL (Dutch), EN (English), DE (German), or FR (French)

Configuration Guide

The template constructs a GET request to the Kiyoh invitation API:

https://www.kiyoh.com/v1/invite/external?hash={hash}&location_id={locationId}&tenantId={tenantId}&email={email}&first_name={firstName}&last_name={lastName}&ref_code={orderId}&delay={delay}&language={language}

The tenantId is set automatically based on your Platform selection: 98 for Kiyoh, 99 for Klantenvertellen.

Steps:

  1. Log into your Kiyoh or Klantenvertellen dashboard and navigate to the API settings to find your API Hash and Location ID.
  2. Create a new tag in GTM using the Kiyoh Review Invite template.
  3. Enter your API Hash and Location ID.
  4. Select the correct Platform (Kiyoh or Klantenvertellen).
  5. Map Customer Email to a GTM variable that captures the buyer’s email on the order confirmation page. Use a Data Layer Variable pointing to your purchase event data.
  6. Optionally map First Name, Last Name, and Order ID to their respective Data Layer Variables.
  7. Set the Delay value to control when the invitation is sent. A delay of 3-7 days is common, giving the customer time to receive their order before being asked for a review.
  8. Set the Language to match your customer’s locale.

Example variable mapping:

Template Field GTM Variable Data Layer Key
Customer Email {{DLV - customerEmail}} customerEmail
First Name {{DLV - customerFirstName}} customerFirstName
Last Name {{DLV - customerLastName}} customerLastName
Order ID {{DLV - orderId}} orderId

Triggers and Setup

Recommended trigger: Fire this tag on the order confirmation page using one of these approaches:

Option 1 — Custom Event trigger:

  • Trigger type: Custom Event
  • Event name: purchase
  • This fires when your site pushes the purchase event to the Data Layer

Option 2 — Page View trigger with URL condition:

  • Trigger type: Page View
  • Condition: Page URL contains /order-confirmation or /checkout/thank-you (adjust to match your site)

Data Layer example (Shopify):

dataLayer.push({
  event: 'purchase',
  customerEmail: '{{ customer.email }}',
  customerFirstName: '{{ customer.first_name }}',
  customerLastName: '{{ customer.last_name }}',
  orderId: '{{ order.name }}'
});

Consent considerations: This tag sends a customer’s email address to an external API. It should only fire after the customer has consented to data processing for review invitations, or where you have a legitimate interest basis. Configure the tag’s consent settings in GTM accordingly.

Deduplication: Use the Order ID field to prevent duplicate invitations. Kiyoh uses the reference code to identify unique invitations.

Troubleshooting

No invitation email received:

  • Verify the API Hash is correct and active in your Kiyoh dashboard.
  • Check that the Customer Email field resolves to a valid email address in GTM Preview mode.
  • Confirm the tag fires by checking GTM Preview — look for the tag in the fired tags list.
  • If a Delay is set, wait for the specified number of days before expecting the email.
  • Check the Kiyoh dashboard for invitation logs to see if the API received the request.

Wrong platform selected:

  • Kiyoh and Klantenvertellen use different tenant IDs. Using the wrong one will cause the API to reject the request. Kiyoh is tenantId 98 (international), Klantenvertellen is tenantId 99 (Netherlands).

Invitation sent in wrong language:

  • Double-check the Language field. If left empty, the API uses the default language configured in your Kiyoh account.

Tag fires but API returns an error:

  • The sendPixel method in GTM does not expose response data. To debug API issues, temporarily replicate the request in your browser’s address bar or with a tool like Postman to inspect the response.
  • Verify your Location ID is correct — an incorrect ID will return an authorization error.

Duplicate invitations:

  • Ensure the Order ID is passed correctly. Without it, Kiyoh cannot deduplicate requests.
  • If the tag fires multiple times (e.g., on page reload), add a trigger condition or use a GTM cookie/variable to ensure the tag only fires once per order.

Support

For issues specific to this GTM template (not Kiyoh platform issues), open an issue on the template’s GitHub repository.

Profielfoto Freek Kampen

By Freek Kampen

Data & Analytics consultant and co-owner of New North Digital. With a background in online advertising, I solve tracking and data issues for entrepreneurs and agencies.

Looking for growth? ▸ Set your New North ▸