Skip to main content

Sign Up

When to Use

The sign_up event should be triggered when visitors successfully create new user accounts or register for services, enabling user acquisition tracking and onboarding funnel optimization.

Account Registration
When visitors complete the account creation process by providing required information and verifying their email addresses.

Social Login Registration
When users register using social media platforms like Google, Facebook, LinkedIn, or other OAuth providers for quick account setup.

Trial Account Creation
When visitors sign up for free trials, freemium accounts, or limited-time access to premium features and services.

Newsletter & Service Registration
When users create accounts specifically for newsletter subscriptions, service notifications, or content access requiring registration.

Platform Onboarding
When new users complete initial registration steps for SaaS platforms, mobile apps, or web applications requiring user accounts.

Complete Reference

event object required

name string required

info

Use only static value sign_up for `event.name'.

name: "sign_up"

value number recommended

info

Event value in decimal format.

Represent the estimated lifetime value or potential value of the new user registration.

value: 50.00

currency string required

info

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

info

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 required

info

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_SIGNUP_ID_123"

context object

info

Use only if exists new data. View complete Context Object documentation

url string required-if-applicable

info

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"
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 required

id string recommended

info

Unique customer identifier in your system.

id: "CUSTOMER_INTERNAL_ID"

email string|array recommended

info

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

info

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

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"
}

properties object recommended

info

Custom Event Properties Examples

properties: {
cancel_reason: "returning",
}

Object Examples

These examples demonstrate the complete data object structure for the sign_up event. Use the complete example for detailed implementations or the minimal example for quick integrations.

{
"event": {
"name": "sign_up",
"value": 75.00,
"currency": "USD",
"exchange_rate": 1,
"id": "SIGNUP_SUCCESS_123",
"properties": {
"registration_method": "email_password",
"signup_form_completion_time_seconds": 145,
"email_verification_required": true,
"account_type": "individual",
"trial_period_days": 14,
"referral_code_used": false,
"terms_conditions_accepted": true,
"marketing_consent_given": true,
"onboarding_steps_completed": 3,
"welcome_email_sent": true
}
},
"context": {
"environment": "prod",
"data_source": "website",
"user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15",
"overide_ip": "192.0.2.146",
"url": "https://example.com/signup/success",
"landing_url": "https://example.com/pricing?plan=pro",
"referring_url": "https://google.com/search"
},
"user": {
"id": "USER_789456",
"email": ["[email protected]"],
"phone": ["+1555666777"],
"first_name": "Emily",
"last_name": "Davis",
"country": "United States",
"region": "California",
"city": "San Diego",
"street": "555 Innovation Drive, Apt 12A",
"postal_code": "92101",
"properties": {
"age_group": "25-34",
"job_title": "Marketing Director",
"company_industry": "marketing_advertising",
"company_size": "11-50",
"registration_source": "organic_search",
"preferred_language": "en",
"timezone": "America/Los_Angeles",
"device_type": "mobile",
"user_segment": "professional",
"account_tier": "trial"
}
}
}

Implementation Methods

These examples show how to send the data objects using different implementation approaches. Choose the method that best fits your technical setup.

// Web tracking implementation
window.reshape = window.reshape || [];

// Send the complete data object
reshape.push({
"event": {
"name": "sign_up",
"value": 75.00,
"currency": "USD",
"id": "SIGNUP_SUCCESS_123"
},
"context": {
"environment": "prod",
"data_source": "website"
},
"user": {
"id": "USER_789456",
"email": ["[email protected]"]
}
});