Skip to main content

Click Interaction

When to Use

Trigger this event for any click interaction you want to track on your website — button clicks, link clicks, form submissions, video plays, accordion toggles, tab switches, or any other meaningful UI interaction.

This is a universal event designed to capture all types of click-based interactions through a standardized set of properties, replacing the need for multiple custom event names.

Complete Reference

event object required

name string required

info

Use only static value click for event.name.

name: "click"

value number

info

Monetary value associated with the interaction. Send only when relevant (e.g. add to cart value, download value). Do not send 0.

value: 149.99

currency string

info

Currency code. Send only together with value.

currency: "EUR"

properties object required

info

Interaction details. See property reference below.

element_name string required

info

Logical name of the element using {functionality}_{specification} pattern.

element_name: "signup_newsletter"
// Examples: download_catalog, share_facebook, phone_click,
// cart_add_product, video_play_hero, filter_price_range

element_action string required

info

What action the interaction performs.

element_action: "form_submit"
// Values: click, submit, download, expand, close, copy,
// scroll_to, play, pause, toggle, select

element_category string required

info

Type of UI element.

element_category: "button"
// Values: button, link, image, card, tab, accordion, form,
// icon, banner, video, slider, menu_item, badge, modal

element_position string recommended

info

Location on the page using {section}_{placement} pattern.

element_position: "footer_middle"
// Examples: header_left, hero_center, body_top, sidebar_top,
// footer_right, modal_center, sticky_bottom, floating

element_text string recommended

info

Visible text of the element (max 100 characters). For images without text, use alt text or leave empty.

element_text: "Subscribe now"

element_destination_url string

info

Full destination URL with protocol. For downloads, use the file URL. Do not send for buttons without a destination.

element_destination_url: "https://example.com/success"

element_destination_name string

info

Name of the destination or associated partner.

element_destination_name: "partner_name"
// Examples: facebook, google, emag, altex, pdf_catalog

element_index number

info

Position in a group: carousel, grid, list (indexing from 1). Do not send for unique elements.

element_index: 2

element_variant string

info

Visual variant or A/B test identifier.

element_variant: "green_cta"
// Examples: variant_a, variant_b, compact, with_icon, text_only

element_content_group string

info

Page type where the interaction occurred.

element_content_group: "blog_article"
// Values: homepage, pdp, plp, category, blog_article, cart,
// checkout, landing_page, search_results, contact, account, faq

context object

url string required-if-applicable

info

Collected automatically for standard websites. Required only for SPA applications where URL changes don't trigger automatic page context updates.

url:"https://shop.example.com/products/laptop?color=silver&storage=512gb&utm_source=google"
warning

URL Parameter Sensitivity: Be mindful of sensitive information in URLs. Query parameters may contain personal identifiers, session tokens, or private information that should be handled according to privacy regulations.

page_type string recommended

info

Type of page (product, home ...)

page_type: "product"

environment string recommended

info

Allowed values: prod, dev

environment: "prod"

user object recommended

id string recommended

info

Unique customer identifier in your system.

id: "CUSTOMER_INTERNAL_ID"

email string recommended

info

Customer email address(es) provided in plaintext or as SHA-256 hashed values.

email: "[email protected]" 
// or
email: "3e1ufd1rdnh8l1rfz6xlreyw2yryd4zrf8zsk1pxh2x8wbsp2mw1g93rs5nx68dq"

phone string recommended

info

Customer phone number(s) in E.164 format (plaintext) or as SHA-256 hashed values.

phone: "+40712345678"
// or
phone: "unw5r66oikql4n4tlg2c54bkd2npephsbwwhxuoxreu6ph8uv6k424y9x15opy9y"

first_name string recommended

info

Customer first name

first_name: "John"

last_name string recommended

info

Customer last name

last_name: "Doe"

country string

info

Country name or ISO country code

country: "Romania"

region string recommended

info

State, province, or region name

region: "Bucuresti"

city string recommended

info

City or locality name

city: "Bucuresti"

street string

info

Street address including number

street: "Strada Principala 1"

postal_code string

info

Postal code or ZIP code

postal_code: "700000"

orders_total_number number recommended

info

Cumulative number of orders placed by this user

orders_total_number: 5

orders_canceled_number number recommended

info

Cumulative number of orders placed and canceled by this user

orders_canceled_number: 0

orders_total_value number recommended

info

Cumulative lifetime user orders value (decimal format: 2500.50)

orders_total_value: 1234.99

orders_refunded_value number recommended

info

Cumulative lifetime user orders value canceled (decimal format: 2500.50)

orders_refunded_value: 250.99

predicted_value number

info

Predicted lifetime value of a customer for your business

predicted_value: 100.99

created_at number recommended

info

Timestamp in milliseconds since Unix epoch representing the first time the user was recorded

created_at: 1754926521690

properties object recommended

info

Custom Customer Properties Examples

User Segmentation

Use the properties object to store custom user attributes, with property names defined by each business as needed, that enable advanced segmentation, personalization, and analytics across your marketing campaigns.

properties: {
customer_type: "returning",
membership_level: "platinum",
preferred_category: ["electronics", "fashion"],
last_purchase_date: "2024-12-15",
average_order_value: "350.00",
payment_method_preference: "card",
registration_date: "2023-06-15"
}

Examples

{
"event": {
"name": "click",
"value": 149.99,
"currency": "EUR",
"properties": {
"element_name": "signup_newsletter",
"element_action": "form_submit",
"element_category": "button",
"element_position": "footer_middle",
"element_text": "Subscribe now",
"element_destination_url": "https://example.com/success",
"element_destination_name": "newsletter",
"element_index": 2,
"element_variant": "green_cta",
"element_content_group": "blog_article"
}
},
"context": {
"url": "https://example.com/blog/best-cameras-2025",
"page_type": "blog_article",
"environment": "prod"
},
"user": {
"id": "CUST_12345",
"email": "[email protected]",
"phone": "+40712345678",
"first_name": "Alexandru",
"last_name": "Popescu",
"country": "RO",
"region": "Brasov",
"city": "Brasov"
}
}

Common Use Cases

window.reshape = window.reshape || [];
reshape.push({
"event": {
"name": "click",
"properties": {
"element_name": "share_facebook",
"element_action": "click",
"element_category": "icon",
"element_position": "body_bottom",
"element_destination_name": "facebook",
"element_content_group": "blog_article"
}
}
});

Naming Convention

element_name

Use the pattern {functionality}_{specification}:

ExampleMeaning
signup_newsletterNewsletter signup action
download_catalogCatalog download
share_facebookFacebook share
video_play_heroHero section video play
filter_price_rangePrice range filter
cart_add_productAdd product to cart
phone_clickPhone number click
accordion_faqFAQ accordion toggle

element_position

Use the pattern {section}_{placement}:

ExampleMeaning
header_leftLeft side of header
hero_centerCenter of hero section
body_topTop of main content
sidebar_topTop of sidebar
footer_rightRight side of footer
sticky_bottomSticky bar at bottom
floatingFloating element
modal_centerCenter of modal