Search Events
1 min
Reporting Product Searches
Use this API endpoint to submit the search activities:
1. When the search response is received
2. And also when a facet is clicked (triggering a follow up query)
GET
https://{{ Analytics_URL }}/analytics/n-search/search
Query Parameters
- klevu_apiKeystringrequiredDescription
- klevu_termstringrequiredDescription
- klevu_totalResultsstringrequiredDescription
- klevu_typeOfQuerystringrequiredDescription
- klevu_shopperIPstringrequiredDescription
- klevu_shopperIP_v4stringDescription
- klevu_shopperIP_v6stringDescription
- data_protectionBooleanDescription
- klevu_uuidstringDescription
- klevu_countrystringDescription
- klevu_citystringDescription
curl
curl --location --request GET 'https://stats.ksearchnet.com/analytics/n-search/search?apiKey=klevu-1234567890&term=red%20shoes&klevu_totalResults=35&klevu_typeOfQuery=WILDCARD_AND'nodejs
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://stats.ksearchnet.com/analytics/n-search/search?apiKey=klevu-1234567890&term=red%20shoes&klevu_totalResults=35&klevu_typeOfQuery=WILDCARD_AND',
'headers': {
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
javascript
var requestOptions = {
method: 'GET',
redirect: 'follow'
};
fetch("https://stats.ksearchnet.com/analytics/n-search/search?klevu_apiKey=klevu-1234567890&klevu_term=red%20shoes&klevu_totalResults=35&klevu_typeOfQuery=WILDCARD_AND", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));python
import requests
url = "https://stats.ksearchnet.com/analytics/n-search/search?apiKey=klevu-1234567890&term=red%20shoes&klevu_totalResults=35&klevu_typeOfQuery=WILDCARD_AND"
payload={}
headers = {}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
ruby
require "uri"
require "net/http"
url = URI("https://stats.ksearchnet.com/analytics/n-search/search?apiKey=klevu-1234567890&term=red%20shoes&klevu_totalResults=35&klevu_typeOfQuery=WILDCARD_AND")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
response = https.request(request)
puts response.read_body
200
<data>
<response>SUCCESS</response>
</data>
Reporting Product Clicks From Search Results
Use this API endpoint to submit the product clicks from search results.
GET
https://{{ Analytics_URL }}/analytics/productTracking
Query Parameters
- klevu_apiKeystringrequiredDescription
- klevu_keywordsstringrequiredDescription
- klevu_typestringrequiredDescription
- klevu_productIdstringrequiredDescription
- klevu_productGroupIdstringrequiredDescription
- klevu_productVariantIdstringrequiredDescription
- klevu_productNamestringrequiredDescription
- klevu_productUrlstringrequiredDescription
- klevu_shopperIPstringrequiredDescription
- klevu_shopperIP_v4stringDescription
- klevu_shopperIP_v6stringDescription
- data_protectionBooleanDescription
- klevu_uuidstringDescription
- klevu_countrystringDescription
- klevu_citystringDescription
curl
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://stats.ksearchnet.com/analytics/productTracking?klevu_apiKey=klevu-1234567890&klevu_keywords=red%2520shoes&klevu_type=clicked&klevu_productId=54321-12345&klevu_productGroupId=54321&klevu_productVariantId=12345&klevu_productName=Smart%2520Trainers&klevu_productUrl=https%253A%252F%252Fyour.website.com%252Fproduct-url',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
nodejs
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://stats.ksearchnet.com/analytics/productTracking?klevu_apiKey=klevu-1234567890&klevu_keywords=red%20shoes&klevu_type=clicked&klevu_productId=54321-12345&klevu_productGroupId=54321&klevu_productVariantId=12345&klevu_productName=Smart%20Trainers&klevu_productUrl=https%3A%2F%2Fyour.website.com%2Fproduct-url',
'headers': {
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
javascript
var xhr = new XMLHttpRequest();
xhr.withCredentials = false;
xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://stats.ksearchnet.com/analytics/productTracking?klevu_apiKey=klevu-1234567890&klevu_keywords=red%2520shoes&klevu_type=clicked&klevu_productId=54321-12345&klevu_productGroupId=54321&klevu_productVariantId=12345&klevu_productName=Smart%2520Trainers&klevu_productUrl=https%253A%252F%252Fyour.website.com%252Fproduct-url");
xhr.send();python
import requests
url = "https://stats.ksearchnet.com/analytics/productTracking?klevu_apiKey=klevu-1234567890&klevu_keywords=red%20shoes&klevu_type=clicked&klevu_productId=54321-12345&klevu_productGroupId=54321&klevu_productVariantId=12345&klevu_productName=Smart%20Trainers&klevu_productUrl=https%3A%2F%2Fyour.website.com%2Fproduct-url"
payload={}
headers = {}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
ruby
require "uri"
require "net/http"
url = URI("https://stats.ksearchnet.com/analytics/productTracking?klevu_apiKey=klevu-1234567890&klevu_keywords=red%20shoes&klevu_type=clicked&klevu_productId=54321-12345&klevu_productGroupId=54321&klevu_productVariantId=12345&klevu_productName=Smart%20Trainers&klevu_productUrl=https%3A%2F%2Fyour.website.com%2Fproduct-url")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
response = https.request(request)
puts response.read_body
200
<data>
<response>SUCCESS</response>
</data>