Shipping Detail Added
When to Use
This event should be triggered when a visitor provides shipping information, indicating significant progress in the checkout funnel and purchase commitment.
Shipping Address Form Completion
When a visitor fills out and submits shipping address information in checkout forms.
Shipping Method Selection
When users choose their preferred delivery option from available shipping methods.
Delivery Preferences Setup
When users specify delivery instructions, time preferences, or special handling requirements.
Express Shipping Upgrades
When users upgrade to premium shipping options during the checkout process.
Complete Reference
event object required
name string required
Use only static value shipping_detail_added for `event.name'.
name: "shipping_detail_added"
value number required
Event value in decimal format.
Represent the total value of all products in checkout at shipping details step.
value: 123.99
currency string required
Currency code that specifies the currency in which all monetary values from any object associated with this event are expressed.
Note: This value can be overridden in nested objects if they contain their own value
key with a currency specified.
currency: "USD"
exchange_rate number
Custom exchange rate for multi-currency. Default has value 1.
Note: This value can be overridden in nested objects if they contain their own value key with a currency specified.
exchange_rate: 1
id string recommended
Event ID — required for any actions that require deduplication or uniqueness. Represents the unique identifier of an action ID used in your system.
id: "UNIQUE_ACTION_ID_123"
context object
Use only if exists new data. View complete Context Object documentation
url string required-if-applicable
Complete URL of the current page including all parameters
SPA Applications: context.url
is particularly valuable for Single Page Applications where URL changes don’t automatically trigger page context updates. Manual implementation ensures accurate tracking of page transitions and user navigation within SPA frameworks.
url:"https://shop.example.com/products/laptop?color=silver&storage=512gb&utm_source=google"
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
Type of page (product, home ...)
page_type: "product"
environment string recommended
Allowed values: prod, dev
environment: "prod"
products array required
An array containing all products in checkout at shipping step. View complete Product Object documentation
products[0] object required
id string required
Unique product identifier in your system.
id: "PRODUCT_ID"
parent_id string required
Parent product ID for variants or child products (can be same as id if no parent concept exists).
parent_id: "PRODUCT_PARENT_ID"
name string required
Product name or title displayed to users.
name: "PRODUCT_NAME"
parent_name string
Parent product name for variants or child products
parent_name: "PRODUCT_PARENT_NAME"
price_base number required
Original or base price before discounts (decimal format: 299.99)
price_base: 120.99
price number required
Current selling price after discounts (decimal format: 249.99)
price: 100.99
tax_included boolean required
Whether the price includes taxes (true/false)
tax_included: true
tax_percent number required
Tax percentage applied to the product (0-100)
tax_percent: 21
quantity number required
Quantity of this product in the context of the event
quantity: 1
category string required
Main product category name
category: "PRODUCT_MAIN_CATEGORY_NAME"
sku string
Product SKU (Stock Keeping Unit) for inventory tracking
sku: "PRODUCT_SKU"
parent_sku string
Parent product SKU for variants or child products
parent_sku: "PRODUCT_PARENT_SKU"
gtin string
Global Trade Item Number for product identification
gtin: "PRODUCT_GTIN"
mpn string
Manufacturer Part Number assigned by the manufacturer
mpn: "PRODUCT_MPN"
ean string
European Article Number for product barcoding
ean: "PRODUCT_EAN"
brand string
Product brand or manufacturer name
brand: "PRODUCT_BRAND"
type string
Product type: "simple", "variable", "virtual", "bundle", "subscription", "external".
Default: simple.
type: "simple"
stock_status boolean recommended
Product availability status (true = in stock, false = out of stock)
stock_status: true
stock_location string
Physical location or warehouse where product is stored
stock_location: "WAREHOUSE_NAME"
created_at string recommended
Timestamp when product was added to inventory (milliseconds)
created_at: 1754926521690
url string
Direct URL to the product page
url: "https://shop.example.com/products/laptop-page"
parent_url string
URL to the parent product page (for variants)
parent_url: "https://shop.example.com/products/laptop-page"
image string
Main product image URL
image: "https://cdn.example.com/products/laptop-image.jpg"
images array
Array of additional product image URLs
images: [
"https://cdn.example.com/products/laptop-image-1.jpg",
"https://cdn.example.com/products/laptop-image-2.jpg",
]
categories array
Array of category objects with name and id properties
- name (string, required) - Category name
- id (string) - Category identifier
categories: [
{
name: "PRODUCT_FIRST_CATEGORY_NAME",
id: "1111"
},
{
name: "PRODUCT_SECOND_CATEGORY_NAME",
id: "1111"
}
]
coupons array
Array of product-level coupons applied to this product. View complete Coupon Object documentation
coupons[0] (object) - required
required
name string required
Coupon name or code.
name: "FREE SHIPPING"
value number recommended
Coupon discount value.
value: 123.99
tax_included boolean recommended
Whether coupon value includes taxes
tax_included: true
tax_precent string recommended
Tax percentage for the coupon
tax_precent: 21
id string
Coupon internal identifier.
id: "COUPON_INTERNAL_ID"
type string
Coupon type (e.g., "LOYALTY", "SEASONAL", "FIRST_ORDER")
type: "SHIPPING"
currency string required-if-applicable
Currency code. Specifies the currency code when it differs from event.currency.
currency: "USD"
exchange_rate number
Custom exchange rate for multi-currency. Default has value 1. Specifies when it differs from event.exchange_rate.
exchange_rate: 1
properties object recommended
Custom product attributes for audience segmentation. Use custom properties that match your product catalog and business needs.
- color (string|array) - Product color(s): "blue" or ["blue", "navy"]
- size (string) - Product size: "S", "M", "L", "XL"
- material (string|array) - Product material(s): "cotton" or ["cotton", "polyester"]
- connectivity (string|array) - Connection types: "wireless" or ["wifi", "bluetooth"]
- storage (string) - Storage capacity: "256GB", "512GB"
- dimensions (string) - Physical dimensions: "120x60x75cm"
Use the properties
object to store custom product attributes, with property names defined by each business as needed, that enable advanced segmentation, personalization, and analytics across your marketing campaigns.
- IT & C
- Fashion
- Deco
properties: {
color: "space_gray",
storage: "256GB",
memory: "16GB",
connectivity: ["wifi", "bluetooth"],
warranty: "2_years",
energy_rating: "A++",
brand_series: "pro_line"
}
properties: {
color: ["black", "white"],
size: "M",
material: "cotton",
fit: "regular",
season: "summer",
collection: "2024_spring",
care_instructions: "machine_wash"
}
properties: {
color: ["natural", "oak"],
dimensions: "120x80x75cm",
material: ["wood", "metal"],
style: "modern",
room_type: ["living_room", "office"],
assembly_required: "true"
}
currency string required-if-applicable
Currency code. Specifies the currency code when it differs from event.currency.
currency: "USD"
exchange_rate number
Custom exchange rate for multi-currency. Default has value 1. Specifies when it differs from event.exchange_rate.
exchange_rate: 1
shipping array required
Array of shipping methods selected for delivery. View complete Shipping Object documentation
shipping[0] object required
name string recommended
Shipping method name
name: "SHIPPING_NAME"
value number required
Shipping cost value
value: 12.99
tax_included boolean recommended
Whether shipping cost includes taxes
tax_included: true
tax_percent number recommended
Tax percentage for shipping (0-100)
tax_percent: 21
id string|number
Shipping method identifier.
id: "SHIPPING_INTERNAL_ID"
type string
Shipping type (e.g., "standard", "express", "next_day")
type: "standard"
currency string required-if-applicable
Currency code. Specifies the currency code when it differs from event.currency.
currency: "USD"
exchange_rate number
Custom exchange rate for multi-currency. Default has value 1. Specifies when it differs from event.exchange_rate.
exchange_rate: 1
coupons array
An array containing details of the coupons associated with the event. View complete Coupon Object documentation
coupons[0] object required
name string required
Coupon name or code.
name: "FREE SHIPPING"
value number recommended
Coupon discount value.
value: 123.99
tax_included boolean recommended
Whether coupon value includes taxes
tax_included: true
tax_precent string recommended
Tax percentage for the coupon
tax_precent: 21
id string
Coupon internal identifier.
id: "COUPON_INTERNAL_ID"
type string
Coupon type (e.g., "LOYALTY", "SEASONAL", "FIRST_ORDER")
type: "SHIPPING"
currency string required-if-applicable
Currency code. Specifies the currency code when it differs from event.currency.
currency: "USD"
exchange_rate number
Custom exchange rate for multi-currency. Default has value 1. Specifies when it differs from event.exchange_rate.
exchange_rate: 1
user object recommended
id string recommended
Unique customer identifier in your system.
id: "CUSTOMER_INTERNAL_ID"
email string|array recommended
Customer email address(es) provided in plaintext or as SHA-256 hashed values.
email: "[email protected]"
// or
email: ["[email protected]", "[email protected]"]
// or
email: ["3e1ufd1rdnh8l1rfz6xlreyw2yryd4zrf8zsk1pxh2x8wbsp2mw1g93rs5nx68dq"]
phone string|array recommended
Customer phone number(s) in E.164 format (plaintext) or as SHA-256 hashed values.
phone: "+40712345678"
// or
phone: ["+40712345678", "+4079876543"]
// or
phone: ["unw5r66oikql4n4tlg2c54bkd2npephsbwwhxuoxreu6ph8uv6k424y9x15opy9y"]
first_name string recommended
Customer first name
first_name: "John"
last_name string recommended
Customer last name
last_name: "Doe"
country string
Country name or ISO country code
country: "Romania"
region string recommended
State, province, or region name
region: "Bucuresti"
city string recommended
City or locality name
city: "Bucuresti"
street string
Street address including number
street: "Strada Principala 1"
postal_code string
Postal code or ZIP code
postal_code: "700000"
orders_total_number number recommended
Cumulative number of orders placed by this user
orders_total_number: 5
orders_canceled_number number recommended
Cumulative number of orders placed and canceled by this user
orders_canceled_number: 0
orders_total_value number recommended
Cumulative lifetime user orders value (decimal format: 2500.50)
orders_total_value: 1234.99
orders_refunded_value number recommended
Cumulative lifetime user orders value canceled (decimal format: 2500.50)
orders_refunded_value: 250.99
predicted_value number
Predicted lifetime value of a customer for your business
predicted_value: 100.99
created_at number recommended
Timestamp in milliseconds since Unix epoch representing the first time the user was recorded
created_at: 1754926521690
properties object recommended
Custom Customer Properties Examples
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.
- E-commerce Customer
- B2B Lead/Customer
- Subscription Service
- Content Platform
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"
}
properties: {
company_size: "enterprise",
industry: "fintech",
job_title: "marketing_director",
decision_maker: "true",
budget_range: "50000-100000",
lead_source: ["linkedin", "webinar"],
qualification_status: "qualified",
sales_stage: "proposal"
}
properties: {
subscription_tier: "premium",
billing_cycle: "annual",
feature_usage: ["analytics", "reporting", "api"],
trial_user: "false",
renewal_date: "2025-06-30",
support_level: "priority",
usage_frequency: "daily"
}
properties: {
content_preferences: ["technology", "business"],
engagement_level: "high",
newsletter_subscriber: "true",
social_media_follower: "true",
content_consumption: "premium",
device_preference: ["mobile", "desktop"],
timezone: "Europe/Bucharest"
}
Object Examples
These examples demonstrate the complete data object structure for the checkout_completed
event. Use the complete example for detailed implementations or the minimal example for quick integrations.
- Complete Example
- Minimal Example
{
"event": {
"name": "checkout_completed",
"value": 2399.96,
"currency": "USD",
"exchange_rate": 1,
"id": "ORDER_SUCCESS_789456",
"properties": {
"gift_message_added": true,
"newsletter_subscription": true
}
},
"context": {
"environment": "prod",
"data_source": "website",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"overide_ip": "185.120.45.123",
"url": "https://shop.example.com/checkout/success",
"landing_url": "https://shop.example.com/electronics/professional",
"referring_url": "https://google.com/search"
},
"products": [
{
"id": "DSLR_CAMERA_PRO_001",
"parent_id": "DSLR_CAMERA_PRO_001",
"sku": "DSLR-PRO-24MP-001",
"parent_sku": "DSLR-PRO-24MP",
"gtin": "2468135790864",
"mpn": "DSLR-PRO-2024-001",
"ean": "2468135790864",
"name": "Professional DSLR Camera 24.2MP",
"parent_name": "Professional DSLR Camera Series",
"brand": "PhotoMaster",
"type": "simple",
"price_base": 1599.99,
"price": 1399.99,
"currency": "USD",
"exchange_rate": 1,
"tax_included": true,
"tax_percent": 8.25,
"quantity": 1,
"stock_status": true,
"stock_location": "Professional Equipment Warehouse",
"created_at": 1748505040077,
"url": "https://shop.example.com/dslr-camera-professional-24mp",
"parent_url": "https://shop.example.com/dslr-camera-professional",
"image": "https://cdn.example.com/dslr-camera-pro-main.jpg",
"images": [
"https://cdn.example.com/dslr-camera-pro-front.jpg",
"https://cdn.example.com/dslr-camera-pro-back.jpg",
"https://cdn.example.com/dslr-camera-pro-lens.jpg"
],
"category": "Electronics > Cameras > DSLR",
"categories": [
{
"name": "Electronics",
"id": "cat_electronics"
},
{
"name": "Cameras",
"id": "cat_cameras"
},
{
"name": "DSLR",
"id": "cat_dslr"
}
],
"properties": {
"sensor_type": "APS-C_CMOS",
"megapixels": "24.2",
"iso_range": "100-25600",
"video_resolution": "4K_30fps",
"autofocus_points": "45",
"battery_life": "1070_shots",
"weather_sealing": "yes",
"wireless_connectivity": ["wifi", "bluetooth"],
"memory_card": "SD_SDHC_SDXC"
}
},
{
"id": "CAMERA_LENS_50MM_001",
"parent_id": "CAMERA_LENS_50MM_001",
"sku": "CL-50MM-F1.4-001",
"name": "50mm f/1.4 Prime Lens",
"brand": "PhotoMaster",
"type": "simple",
"price_base": 799.99,
"price": 699.99,
"currency": "USD",
"exchange_rate": 1,
"tax_included": true,
"tax_percent": 8.25,
"quantity": 1,
"stock_status": true,
"category": "Electronics > Camera Accessories > Lenses",
"properties": {
"focal_length": "50mm",
"aperture": "f/1.4",
"lens_mount": "EF_mount",
"image_stabilization": "none",
"minimum_focus_distance": "0.45m",
"filter_diameter": "77mm",
"weight": "760g"
}
},
{
"id": "CAMERA_BAG_PRO_001",
"sku": "CB-PRO-SHOULDER-001",
"name": "Professional Camera Shoulder Bag",
"brand": "CameraCare",
"type": "simple",
"price": 149.99,
"currency": "USD",
"tax_included": true,
"tax_percent": 8.25,
"quantity": 1,
"category": "Electronics > Camera Accessories > Bags",
"properties": {
"material": "waterproof_canvas",
"compartments": "adjustable_padded",
"laptop_compartment": "15_inch",
"weather_protection": "rain_cover_included",
"color": "black"
}
}
],
"shipping": [
{
"name": "Professional Equipment Shipping",
"value": 24.99,
"currency": "USD",
"tax_percent": 8.25,
"tax_included": true,
"id": "PROF_SHIPPING_001",
"type": "expedited_insured"
}
],
"coupons": [
{
"name": "PROFESSIONAL_BUNDLE_15",
"value": 375.00,
"currency": "USD",
"tax_percent": 8.25,
"tax_included": true,
"id": "PROF_BUNDLE_2024",
"type": "BUNDLE_DISCOUNT"
}
],
"user": {
"id": "CUST_PHOTO_456789",
"email": ["[email protected]"],
"phone": ["+1555123789"],
"first_name": "David",
"last_name": "Martinez",
"country": "United States",
"region": "Colorado",
"city": "Denver",
"street": "789 Creative Boulevard, Studio 12",
"postal_code": "80202",
"properties": {
"customer_segment": "professional",
"acquisition_channel": "referral",
"preferred_categories": ["photography", "professional_equipment", "electronics"],
"preferred_language": "en",
"loyalty_tier": "platinum",
"business_account": true
}
}
}
{
"event": {
"name": "shipping_detail_added",
"value": 299.99,
"currency": "USD",
"id": "ORDER_MIN_123456"
},
"context": {
"environment": "prod",
"data_source": "website"
},
"products": [
{
"id": "BACKPACK_TRAVEL_001",
"sku": "BP-TRAVEL-40L",
"name": "Travel Backpack 40L",
"brand": "AdventurePack",
"type": "simple",
"price": 249.99,
"currency": "USD",
"tax_included": true,
"tax_percent": 8.25,
"quantity": 1,
"category": "Travel > Luggage > Backpacks"
}
],
"shipping": [
{
"name": "Standard Ground Shipping",
"value": 15.99,
"currency": "USD",
"type": "standard"
}
],
"user": {
"id": "CUST_987654",
"email": ["[email protected]"]
}
}
Implementation Methods
These examples show how to send the data objects using different implementation approaches. Choose the method that best fits your technical setup.
- JavaScript Implementation
- API Implementation
// Web tracking implementation
window.reshape = window.reshape || [];
// Send the complete data object
reshape.push({
"event": {
"name": "shipping_detail_added",
"value": 2399.96,
"currency": "USD"
},
"context": {
"environment": "prod",
"data_source": "website"
},
"products": [
{
"id": "DSLR_CAMERA_PRO_001",
"sku": "DSLR-PRO-24MP-001",
"name": "Professional DSLR Camera 24.2MP",
"brand": "PhotoMaster",
"price": 1399.99,
"quantity": 1
}
],
"shipping": [
{
"name": "Professional Equipment Shipping",
"value": 24.99,
"type": "expedited_insured"
}
],
"user": {
"id": "CUST_PHOTO_456789",
"email": ["[email protected]"]
}
});
# Define the JSON body as a variable
BODY_JSON='{
"event": {
"name": "shipping_detail_added",
"value": 2399.96,
"currency": "USD"
},
"context": {
"environment": "prod",
"data_source": "website"
},
"products": [
{
"id": "DSLR_CAMERA_PRO_001",
"sku": "DSLR-PRO-24MP-001",
"name": "Professional DSLR Camera 24.2MP",
"brand": "PhotoMaster",
"price": 1399.99,
"quantity": 1
}
],
"shipping": [
{
"name": "Professional Equipment Shipping",
"value": 24.99,
"type": "expedited_insured"
}
],
"user": {
"id": "CUST_PHOTO_456789",
"email": ["[email protected]"]
}
}'
# Send the request using curl
curl -X POST "https://dre2.yourdomain.com/reshape/standard/event?id=YOUR_SCRIPT_ID" \
-H "Content-Type: application/json" \
-H "X-Dre-Access-Token: YOUR_ACCESS_TOKEN" \
-d "$BODY_JSON"
Product Properties Examples
Use the properties
object to capture detailed product attributes that enable precise audience segmentation and better targeting in your advertising campaigns.
- Fashion Products
- Electronics
- Home & Garden
properties: {
color: ["black", "white"],
size: "M",
material: "cotton",
fit: "regular",
season: "summer",
collection: "2024_spring"
}
properties: {
color: "space_gray",
storage: "256GB",
connectivity: ["wifi", "bluetooth"],
warranty: "2_years",
energy_rating: "A++",
brand_series: "pro_line"
}
properties: {
color: ["natural", "oak"],
dimensions: "120x80x75cm",
material: ["wood", "metal"],
style: "modern",
room_type: ["living_room", "office"],
assembly_required: "true"
}
The value
field should represent the checkout value at the shipping step. Include shipping costs in your total value calculation when they significantly impact the final order value for accurate revenue tracking.
At the shipping details step, user information is typically available and should be included in the user
object. This enables better user identification, personalization, and remarketing capabilities. Use the same user data structure as documented in the User Object section.
Implementation Best Practices
Event Timing
Shipping Method Selection
// Trigger when shipping method is selected
Address Form Completion
Data Collection Guidelines
Shipping Cost Tracking
- Include shipping costs in total value when significant
- Track shipping method preferences for optimization
- Monitor free shipping threshold effectiveness
Delivery Optimization
- Analyze shipping method selection patterns
- Track express shipping uptake rates
- Consider delivery time preferences for logistics planning