Attribution at Coveo
Attribution at Coveo
Coveo for Commerce Advanced Reports and the Coveo Merchandising Hub (CMH) rely on attribution to provide insight into the key metrics that affect the performance of your Coveo-powered commerce implementation:
-
Transactions
The user’s journey is analyzed to determine which product discovery solutions should be credited for the purchase.
-
Revenue
The user’s journey is analyzed to determine which solutions should be credited for the revenue that’s generated by the purchase.
Coveo’s attribution model
A transaction is typically the result of a series of touchpoints that map the customer’s journey. It’s important to consider the entirety of that journey when analyzing the performance of your Coveo-powered commerce implementation.
Coveo’s attribution model is multi-touchpoint, per-product, and last-touch:
-
Multi-touchpoint
Transactions and revenue are attributed to specific product discovery solutions rather than to Coveo as a whole. When a click action touchpoint leads to a purchase, Coveo uses that touchpoint to determine which solution should be credited for the purchase.
Transactions can be attributed to multiple solutions because each product in a transaction is attributed individually based on the touchpoint involved.
NoteEach transaction is only counted once on the total transactions chart in Coveo for Commerce Advanced Reports, even if it’s attributed to multiple solutions.
-
Per-product
Each product in a transaction is attributed to a particular solution. The transaction as a whole is attributed to a particular solution if at least one product in the transaction can be attributed to that solution.
Transactions vs. revenueEach transaction can only be attributed to a solution once, even when multiple products in the transaction are attributed to the same solution.
However, the revenue for all of the products in a transaction that are attributed to a particular solution is added up and attributed to that solution collectively.
-
Last-touch
Each product in a transaction is attributed to a solution based on the last registered click action touchpoint involving that product before the purchase was completed.
ExampleA user performs a query on a Coveo-powered commerce site. They click a product to open its product detail page (PDP), but they don’t make a purchase and navigate away from the site. Coveo tracks this touchpoint as part of the user’s journey.
Later, they revisit the site and see the same product in a recommendation slot. They click the product to open its PDP, creating another touchpoint tracked by Coveo. This time, the user adds the product to their cart and completes the purchase. This product is attributed to the recommendation solution.
Attribution example
A customer wants to purchase a laptop with a 12.4" display, a 4k monitor, and a printer, so they visit the Coveo-powered Acme Electronics commerce site.
Note
In this example, the fictional Acme Electronics site doesn’t include the ability to add products to the cart directly from the search results page, product listing pages (PLPs), or recommendation slots. |
-
The customer types
laptop with 12.4 display
in the search bar. In the search results, they see a laptop priced at $500. They click it to open the product detail page (PDP), and after looking at its specifications, they add the laptop to their cart. -
Next, the customer finds a 4k monitor priced at $250 on the
Monitors
PLP. They click it to open the PDP and add it to their cart. -
The customer then views the products listed on the
Printers
PLP. They click a printer priced at $200 to open the PDP and add it to their cart. -
Finally, while the customer is reviewing their cart, they notice a product recommendation for a laptop bag priced at $50. They click the bag to open the PDP and add it to their cart. Then the customer proceeds to the payment and completes the purchase.
For this customer journey, the transaction is attributed once to each of the Coveo product discovery solutions and once to Coveo overall:
-
It’s attributed once to the search solution because of the touchpoint in which the customer clicked the laptop in the search results.
-
It’s attributed once to the product listing solution because of the touchpoints in which the customer clicked the monitor and printer on the PLP. Even though two products in this transaction are attributed to the product listing solution, the transaction itself is only attributed once per solution.
-
It’s attributed once to the recommendation solution because of the touchpoint in which the customer clicked the laptop bag in the recommendation slot.
-
It’s attributed once to Coveo because it includes at least one item that’s attributed to a Coveo solution.
While the transaction is attributed equally to each solution that was involved, the revenue is attributed based on the price of each product in the transaction. The total of this transaction is $1,000, which is attributed as follows:
-
$500 is attributed to the search solution.
-
$450 ($250 + $200) is attributed to the product listing solution.
-
$50 is attributed to the recommendation solution.
For a more complex example of revenue attribution involving multiple transactions which include items that aren’t attributed to Coveo, see Contribution to AOV.
About search attribution
Coveo attributes a product in a transaction to the Search product discovery solution if a visitor's last registered click action before purchasing the product was selecting it from the search results that were returned after performing a query in the search box.
The sequence of events tracked as part of the user journey differs depending on the protocol you’re using (Event Protocol or Coveo UA Protocol) and the Coveo API you’re making calls to (Commerce API or Search API).
Search attribution with Event Protocol
The sequence of events is as follows:
-
The visitor enters a search query. This sends a search request that includes the following properties:
-
responseId
, which uniquely identifies the initial search request. -
clientId
, which uniquely identifies a specific instance of a particular browser client. -
trackingId
, which uniquely identifies a single user journey.
After the search request is sent, a page of search results loads.
-
-
When the visitor clicks a product, the product detail page (PDP) loads. A click event that includes the following properties is logged:
-
responseId
, which matches the value of theresponseId
from the search request. This is how Coveo connects the click event to the Search solution. -
productId
, which links this click event to a particular product and lets Coveo tie this event to the purchase event that concludes the user journey.
NoteAll of the events that are tracked for attribution include the following properties:
-
clientId
, which restricts the event sequence to a particular browser client. -
trackingId
, which restricts the event sequence to a single user journey.
-
-
When the visitor completes a purchase, a purchase event is logged. This purchase event includes the
productId
property for each product in the transaction. This connects each product to a particular click event.
By tracking the unique responseId
and productId
values used across the touchpoints leading up to the purchase, Coveo can attribute this transaction to the Search solution.
Search attribution with Coveo UA Protocol
The sequence of events is as follows:
-
The visitor enters a search query. This sends a search request that includes the following properties:
-
searchUid
, which uniquely identifies the initial search request. -
clientId
, which uniquely identifies a specific instance of a particular browser client. -
trackingId
, which uniquely identifies a single user journey.
After the search request is sent, a page of search results loads. A search event that includes the
searchQueryUid
property is logged. This property is filled with the value of thesearchUid
returned by the search request. This connects the search event to the Search solution.NoteAll of the events that are tracked for attribution include the following properties:
-
clientId
, which restricts the event sequence to a particular browser client. -
trackingId
, which restricts the event sequence to a single user journey.
-
-
When the visitor clicks a product, the PDP loads. A click event that includes the following properties is logged:
-
searchQueryUid
, which is filled with the value of thesearchUid
returned by the search request. This connects the click event to the Search solution. -
prNid
orprNgroup
(or both, whereN
is based on the number of products included in the event payload), which links this click event to a particular product and lets Coveo tie this event to the purchase event that concludes the user journey.
-
-
When the visitor completes a purchase, a purchase event is logged. This purchase event includes the
prNid
orprNgroup
properties (or both) for each product in the transaction. This connects each product to a particular click event.
By tracking the unique searchUid
and prNid
or prNgroup
values used across the touchpoints leading up to the purchase, Coveo can attribute this transaction to the Search solution.
About product listing attribution
Coveo attributes a product in a transaction to the Product listing product discovery solution if a visitor's last registered click action before purchasing the product was selecting it on a product listing page (PLP).
The sequence of events tracked as part of the user journey differs depending on the protocol you’re using (Event Protocol or Coveo UA Protocol) and the Coveo API you’re making calls to (Commerce API or Search API).
Product listing attribution with Event Protocol
The sequence of events is as follows:
-
The visitor selects a product category. This sends a search request that includes the following properties:
-
responseId
, which uniquely identifies the initial search request. -
clientId
, which uniquely identifies a specific instance of a particular browser client. -
trackingId
, which uniquely identifies a single user journey.
After the search request is sent, a PLP loads and displays products that are relevant to the selected category.
-
-
When the visitor clicks a product, the product detail page (PDP) loads. A click event that includes the following properties is logged:
-
responseId
, which matches the value of theresponseId
from the search request. This is how Coveo connects the click event to the Product listing solution. -
productId
, which links this click event to a particular product and lets Coveo tie this event to the purchase event that concludes the user journey.
NoteAll of the events that are tracked for attribution include the following properties:
-
clientId
, which restricts the event sequence to a particular browser client. -
trackingId
, which restricts the event sequence to a single user journey.
-
-
When the visitor completes a purchase, a purchase event is logged. This purchase event includes the
productId
property for each product in the transaction. This connects each product to a particular click event.
By tracking the unique responseId
and productId
values used across the touchpoints leading up to the purchase, Coveo can attribute this transaction to the Product listing solution.
Product listing attribution with Coveo UA Protocol
The sequence of events is as follows:
-
The visitor selects a product category. This sends a search request that includes the following properties:
-
searchUid
, which uniquely identifies the initial search request. -
clientId
, which uniquely identifies a specific instance of a particular browser client. -
trackingId
, which uniquely identifies a single user journey.
After the search request is sent, a PLP loads and displays products that are relevant to the selected category. A search event that includes the
searchQueryUid
property is logged. This property is filled with the value of thesearchUid
returned by the search request. This connects the search event to the Product listing solution.NoteAll of the events that are tracked for attribution include the following properties:
-
clientId
, which restricts the event sequence to a particular browser client. -
trackingId
, which restricts the event sequence to a single user journey.
-
-
When the visitor clicks a product, the PDP loads. A click event that includes the following properties is logged:
-
searchQueryUid
, which is filled with the value of thesearchUid
returned by the search request. This connects the click event to the Product listing solution. -
prNid
orprNgroup
(or both, whereN
is based on the number of products included in the event payload), which links this click event to a particular product and lets Coveo tie this event to the purchase event that concludes the user journey.
-
-
When the visitor completes a purchase, a purchase event is logged. This purchase event includes the
prNid
orprNgroup
properties (or both) for each product in the transaction. This connects each product to a particular click event.
By tracking the unique searchUid
and prNid
or prNgroup
values used across the touchpoints leading up to the purchase, Coveo can attribute this transaction to the Product listing solution.
About recommendation attribution
Coveo attributes a product in a transaction to the Recommendation product discovery solution if a visitor's last registered click action before purchasing the product was selecting it from a recommendation slot.
The sequence of events tracked as part of the user journey differs depending on the protocol you’re using (Event Protocol or Coveo UA Protocol) and the Coveo API you’re making calls to (Commerce API or Search API).
Recommendation attribution with Event Protocol
The sequence of events is as follows:
-
recommendation slots can appear in different places on a Coveo-powered commerce site. For example, they can appear on home pages, cart pages, or product detail pages (PDPs). When a page containing a recommendation slot loads, a search request is sent to query products to fill the slot. This request includes the following properties:
-
responseId
, which uniquely identifies the initial search request. -
clientId
, which uniquely identifies a specific instance of a particular browser client. -
trackingId
, which uniquely identifies a single user journey.
After the search request is sent, one or more recommendation slots load and display the products returned by the request.
-
-
When the visitor clicks a product, the PDP loads. A click event that includes the following properties is logged:
-
responseId
, which matches the value of theresponseId
from the search request. This is how Coveo connects the click event to the Recommendation solution. -
productId
, which links this click event to a particular product and lets Coveo tie this event to the purchase event that concludes the user journey.
NoteAll of the events that are tracked for attribution include the following properties:
-
clientId
, which restricts the event sequence to a particular browser client. -
trackingId
, which restricts the event sequence to a single user journey.
-
-
When the visitor completes a purchase, a purchase event is logged. This purchase event includes the
productId
property for each product in the transaction. This connects each product to a particular click event.
By tracking the unique responseId
and productId
values used across the touchpoints leading up to the purchase, Coveo can attribute this transaction to the Recommendation solution.
Recommendation attribution with Coveo UA Protocol
The sequence of events is as follows:
-
recommendation slots can appear in different places on a Coveo-powered commerce site. For example, they can appear on home pages, cart pages, or PDP. When a page containing a recommendation slot loads, a search request is sent to query products to fill the slot. This request includes the following properties:
-
searchUid
, which uniquely identifies the initial search request. -
clientId
, which uniquely identifies a specific instance of a particular browser client. -
trackingId
, which uniquely identifies a single user journey.
After the search request is sent, one or more recommendation slots load and display the products returned by the request. A search event that includes the
searchQueryUid
property is logged. This property is filled with the value of thesearchUid
returned by the search request. This connects the search event to the Recommendation solution.NoteAll of the events that are tracked for attribution include the following properties:
-
clientId
, which restricts the event sequence to a particular browser client. -
trackingId
, which restricts the event sequence to a single user journey.
-
-
When the visitor clicks a product, the PDP loads. A click event that includes the following properties is logged:
-
searchQueryUid
, which is filled with the value of thesearchUid
returned by the search request. This connects the click event to the Recommendation solution. -
prNid
orprNgroup
(or both, whereN
is based on the number of products included in the event payload), which links this click event to a particular product and lets Coveo tie this event to the purchase event that concludes the user journey.
-
-
When the visitor completes a purchase, a purchase event is logged. This purchase event includes the
prNid
orprNgroup
properties (or both) for each product in the transaction. This connects each product to a particular click event.
By tracking the unique searchUid
and prNid
or prNgroup
values used across the touchpoints leading up to the purchase, Coveo can attribute this transaction to the Recommendation solution.