Wecheer Integration

Build powerful loyalty and engagement integrations with the Wecheer platform. Send events, sync profiles, and receive real-time data.

Wecheer offers a bi-directional integration framework that enables enterprise clients to seamlessly exchange real-time data and events with the Wecheer platform.

┌───────────────────────────────────────────────────────────────────────┐
│                            YOUR SYSTEMS                               │
│  ┌─────────┐  ┌─────────┐  ┌─────────┐  ┌─────────┐                 │
│  │   CRM   │  │   CDP   │  │Analytics│  │  E-com  │                 │
│  └─────────┘  └─────────┘  └─────────┘  └─────────┘                 │
└──────┬──────────────────────────┬──────────────────────────┬──────────┘
       │ Outbound                 │ Inbound                  │ Inbound
       │ (Wecheer → You)          │ (via Segment)            │ (via API)
       ▲                          ▼                          ▼
┌──────┴──────────┐    ┌──────────┴──────────┐   ┌──────────────────┐
│    SEGMENT      │    │     SEGMENT         │   │   WECHEER API    │
│   (Outbound)    │    │    (Inbound)        │   │    (Inbound)     │
└──────┬──────────┘    └──────────┬──────────┘   └────────┬─────────┘
       └──────────────────────────┴──────────────────────┐ │
                                                         ▼ ▼
┌───────────────────────────────────────────────────────────────────────┐
│                        WECHEER PLATFORM                               │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐                  │
│  │  Campaigns  │  │   Rewards   │  │    Users    │                  │
│  └─────────────┘  └─────────────┘  └─────────────┘                  │
└───────────────────────────────────────────────────────────────────────┘
📤 Receive Events from Wecheer

Wecheer becomes the source of real-time platform events delivered into client systems through Segment.

📥 Send Events to Wecheer

Send user attributes or behavioral events into Wecheer via Segment or our standard public APIs, enabling Wecheer to reward and recognize user actions.

Integration via Segment

Wecheer uses Segment as its outbound event delivery middleware. When users interact with your campaign, Wecheer streams real-time events into your Segment workspace.

┌───────────────────────────────────────────────────────────────────────┐
│                        WECHEER PLATFORM                               │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐                  │
│  │  User Joins │  │   Scans     │  │   Redeems   │                  │
│  │  Campaign   │  │   Product   │  │   Reward    │                  │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘                  │
│         └────────────────┼────────────────┘                          │
│                          ▼                                            │
│                 ┌─────────────────┐                                  │
│                 │  Event Stream   │                                  │
│                 └────────┬────────┘                                  │
└──────────────────────────┼───────────────────────────────────────────┘
                           ▼
              ┌─────────────────────────┐
              │        SEGMENT          │
              └─────────────┬───────────┘
        ┌────────────────────┼────────────────────┐
        ▼                    ▼                    ▼
┌───────────────┐   ┌───────────────┐   ┌───────────────┐
│   Your CRM    │   │   Your CDP    │   │  Analytics    │
└───────────────┘   └───────────────┘   └───────────────┘

Why Segment?

  • Industry standard for event routing
  • 450+ pre-built integrations
  • Highly secure and SOC 2 compliant
  • Zero additional cost for Wecheer clients

Integration Methods

📡 Segment Source

Recommended for most clients. Wecheer sends events directly into your Segment workspace, ready to route to any destination.

⚡ Segment Function

For advanced use cases requiring event transformation or routing to systems not in the Segment catalog.

Event Categories

Wecheer emits three categories of events.

Consumption Events

Scans, purchases, points earned, stamps received

User Events

Registration, profile updates, data sharing

Reward Events

Redemptions, catalog activity

Integration via Segment Source

The recommended approach for most clients. Wecheer will be onboarded as a Source in your Segment workspace and will automatically forward all campaign events in real time.

When to Use This Approach

  • Your team already uses Segment as a central data hub
  • Your destinations are available in the Segment catalog (e.g. HubSpot, Salesforce, Braze, BigQuery)
  • You want a low-maintenance pipeline with no custom code or transformation logic
  • You need to forward Wecheer events to multiple tools simultaneously

How It Works

Wecheer Platform
      │
      │ track() calls
      ▼
Segment Source (Wecheer)
      │
      ├──► Salesforce CRM
      ├──► BigQuery / Snowflake
      ├──► Braze / Iterable
      └──► Any Segment Destination

Setup Steps

The full step-by-step setup guide is published and maintained by our team in the official Segment catalog documentation.

View Setup Guide on Segment Docs ↗
Note: Wecheer will provide your dedicated Source write key and assist with workspace setup. Contact your Wecheer account manager to initiate onboarding.

Common CRM & Marketing Destinations

Once Wecheer is connected as a Segment Source, you can route events to any destination in the Segment Catalog with no additional development.

PlatformCategoryTypical Use CaseDocs
HubSpotCRM / MarketingSync loyalty events into contact timelines, trigger workflows on reward or redemption eventsSetup Guide ↗
SalesforceCRMPush Wecheer user and consumption events into Salesforce contacts and custom objectsSetup Guide ↗
BrazeMarketing AutomationTrigger CRM campaigns (push, email, SMS) based on Wecheer reward or punchcard eventsSetup Guide ↗
IterableMarketing AutomationDrive email and push journeys from loyalty milestonesSetup Guide ↗
Google BigQueryData WarehouseStore all Wecheer events in your data warehouse for SQL analysis and BI reportingSetup Guide ↗
SnowflakeData WarehouseLoad Wecheer event data alongside your existing Snowflake datasetsSetup Guide ↗
MixpanelProduct AnalyticsAnalyze engagement funnels and loyalty behavior alongside product usage dataSetup Guide ↗
AmplitudeProduct AnalyticsCorrelate Wecheer reward events with user retention and feature engagementSetup Guide ↗

Example: Connecting HubSpot

HubSpot is available as a native destination in the Segment Catalog. Once Wecheer is set up as a Source, connecting HubSpot takes only a few minutes and requires no code changes.

1
Add HubSpot as a Destination

In your Segment workspace, go to Connections → Destinations → Add Destination and search for HubSpot. Select the Wecheer source as the data source.

2
Authenticate with HubSpot

Click Connect to HubSpot and log in with your HubSpot account credentials. Segment will store the OAuth connection securely.

3
Configure Event Mapping

Map Wecheer events (e.g. RewardReceived, PunchcardCompleted, UserCreated) to HubSpot contact properties or custom events. Use Segment's mapping UI - no code required.

4
Validate in HubSpot

Check your HubSpot contact timeline and custom event log to confirm events are arriving. Use Segment's Event Debugger to troubleshoot any mapping issues.

No engineering effort required: If your team already uses HubSpot and Segment is configured in your workspace, enabling Wecheer as a data source requires no additional code on your side - only Segment destination configuration.
Platform not listed? If your destination is not in the Segment Catalog, use the Segment Function integration to forward events to any proprietary API endpoint.

Integration via Segment Function

Use a Segment Function when you need to transform Wecheer events before forwarding them, or when your destination is not available in the Segment catalog.

When to Use This Approach

  • Your destination system is not in the Segment catalog
  • You need to transform or enrich event payloads before forwarding
  • You want to apply conditional routing logic (e.g. send only certain event types)
  • You need to merge Wecheer data with data from other sources

How It Works

A Segment Function is a small JavaScript function that runs in Segment's cloud infrastructure. It receives incoming Wecheer events, applies your custom logic, and forwards the processed data to your endpoint.

Wecheer Platform
      │
      │ track() calls
      ▼
Segment Source (Wecheer)
      │
      ▼
Segment Function
(Your transformation logic)
      │
      ▼
Your Custom Endpoint / System

Setup Steps

Step 1: Create a Segment Function

In your Segment workspace, go to Connections → Catalog → Functions and create a new Destination Function.

Step 2: Write Your Transformation

Implement your event handling logic in JavaScript. The function receives a Segment event object and can forward it to any HTTP endpoint.

JavaScript
async function onTrack(event, settings) {
  const payload = {
    eventName: event.event,
    userId: event.userId,
    timestamp: event.timestamp,
    properties: event.properties
  };

  const response = await fetch(settings.destinationUrl, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${settings.apiToken}`
    },
    body: JSON.stringify(payload)
  });

  if (!response.ok) {
    throw new Error(`Request failed: ${response.status}`);
  }
}
Step 3: Connect to Wecheer Source

In Segment, connect your newly created Function as a Destination of the Wecheer Source. Configure any required settings (e.g. destination URL, API token).

Step 4: Test and Deploy

Use Segment's Function testing tools to send sample Wecheer events through your function and verify the output before going live.

Event Scheme

Wecheer emits three categories of Segment events. All events follow the standard Segment track structure with Wecheer-specific properties.

Base Event Structure

JSON
{
  "type": "track",
  "event": "EventName",
  "userId": "user-uuid-12345",
  "timestamp": "2026-01-15T12:34:56.789Z",
  "properties": { },
  "context": { "source": "wecheer", "version": "1.0" }
}

Consumption Events

Events triggered by product scans, purchases, and reward-earning activities.

EventDescription
any_consumptionUser scans QR code or receipt validated
first_consumptionUser's first consumption in campaign
consumption_match_itemReceipt item matched campaign rules
points_receivedPoints awarded to user
PunchcardStampsReceivedStamps earned on punchcard
punchcard_step_completedPunchcard milestone reached
card_receivedUser received a campaign card
CheercoinsUpdatedCoin balance changed

Example: points_received

JSON
{
  "type": "track",
  "event": "points_received",
  "userId": "user-uuid-12345",
  "timestamp": "2026-01-15T12:34:56.789Z",
  "properties": {
    "eventId": "evt-uuid-12345",
    "campaignId": "camp-12345",
    "points": 150,
    "reason": "product_scan",
    "previousBalance": 1000,
    "newBalance": 1150
  }
}

User Events

Events related to user registration, profile updates, and data sharing.

EventDescription
user_createdNew user registered
user_updatedProfile information changed
user_data_sharedUser shared data with campaign
UserChannelSubscriptionChangedCommunication preferences changed

Example: user_created

JSON
{
  "type": "track",
  "event": "user_created",
  "userId": "user-uuid-12345",
  "properties": {
    "email": "user@example.com",
    "phone": "+1234567890",
    "registrationSource": "campaign_link",
    "campaignId": "camp-12345",
    "marketingConsent": true
  }
}

Reward Events

Events for reward catalog and redemption activities.

EventDescription
RewardCreatedNew reward added to catalog
CatalogRedeemUser redeemed reward from catalog
Redeem Reward StartedRedemption process initiated
Redeem Reward FailedRedemption failed

Example: CatalogRedeem

JSON
{
  "type": "track",
  "event": "CatalogRedeem",
  "userId": "user-uuid-12345",
  "properties": {
    "redemptionId": "redeem-uuid-12345",
    "rewardId": "reward-uuid-12345",
    "rewardName": "Coffee Voucher",
    "cost": { "points": 500 },
    "voucherCode": "COFFEE-ABC123"
  }
}

Integration via API (Webhook)

Coming Soon: Direct webhook delivery for outbound events is currently under development and will be available in a future release.

The Webhook integration will allow Wecheer to deliver outbound events directly to an HTTP endpoint of your choice - without requiring a Segment workspace. This is ideal for clients who prefer direct server-to-server communication or have specific infrastructure requirements that make Segment impractical.

Interested in the Webhook integration? Contact your Wecheer account manager to register your interest and be notified when it becomes available.

Integration via Segment Destination

Coming Soon: The Wecheer Segment Destination is currently under development and will be available in a future release.

The Segment Destination integration will allow you to send events to Wecheer directly from your existing Segment workspace - using your existing Segment tracking infrastructure. Instead of integrating with the Wecheer API directly, you will simply add Wecheer as a Destination in Segment and route the relevant events.

Your Systems (Mobile App, Web, Backend)
      │
      │ Segment track() / identify()
      ▼
Your Segment Workspace
      │
      ▼
Wecheer Destination (Segment Catalog)
      │
      ▼
Wecheer Platform (Rewards & Campaigns)
In the meantime, you can integrate with Wecheer using the Integration via API approach below.

Integration via API

Send events directly to Wecheer using the Inbound API. This is the primary integration method for triggering rewards, processing user actions, and syncing data from your systems.

┌─────────────────────────────────────────────────────────────────┐
│                        YOUR SYSTEMS                              │
│  ┌─────────┐  ┌─────────┐  ┌─────────┐  ┌─────────┐            │
│  │  E-com  │  │   CRM   │  │   App   │  │   POS   │            │
│  └────┬────┘  └────┬────┘  └────┬────┘  └────┬────┘            │
└───────┼────────────┼────────────┼────────────┼──────────────────┘
        └────────────┴─────┬──────┴────────────┘
                           ▼
                    ┌─────────────┐
                    │   Wecheer   │
                    │  Inbound    │
                    │    API      │
                    └─────────────┘

Use Cases

Profile Completion

User fills out profile → Welcome reward

Product Review

User submits review → Review points

Survey Completion

User answers survey → Survey reward

Content Engagement

User reads article or watches video → Engagement points

User Conditions for Receiving Rewards

Before a user can receive rewards through the Wecheer platform, the following conditions must be met.

1. Campaign Participation

The user must join a campaign to be eligible for rewards.

Note: For the testing campaign in the staging environment, use: https://staging.wecheer.me/loyalty/sb/ee1a6e8d-04e844cc-b3f3597195717ba5
When the user opens this link and logs in, they will automatically join the campaign.

2. Unique Consumption

The consumption event must not have been previously processed. This is verified using the consumptionId, which must be unique for each consumption.

3. User Status

The user must not be blocked on the Wecheer side.

Authorize Endpoint

Used to authenticate the client and provide a token that authorizes requests to other endpoints.

POST/api/advertiser/v1/authorize

Environment: Staging

URL: https://api.wecheer.me/staging-usermanagement/api/advertiser/v1/authorize

Header Parameters

Note: apiKey and apiSecret are different for different advertisers and different environments. The example values below are for advertiser 1000112586 in the staging environment.
Header NameHeader ValueRequired
apiKey7f2156c3-d398478b-854632efc7cade1bYes
apiSecret3DpcdDQca8p3lZXQ1BoNBiGNlA3ZnCFjZYstElG0WHVMv13E87mrYPXdMj4hgIsMYes
Content-Typeapplication/json-patch+jsonYes

Request Payload

FieldTypeRequiredExampleDescription
advertiserIdstringYes1000112586Partner/advertiser identifier. Constant. For Staging: 1000112586

cURL Example

cURL
curl -X 'POST' \
  'https://api.wecheer.me/staging-usermanagement/api/advertiser/v1/authorize' \
  -H 'accept: text/plain' \
  -H 'apiKey: 7f2156c3-d398478b-854632efc7cade1b' \
  -H 'apiSecret: 3DpcdDQca8p3lZXQ1BoNBiGNlA3ZnCFjZYstElG0WHVMv13E87mrYPXdMj4hgIsM' \
  -H 'Content-Type: application/json-patch+json' \
  -d '{
  "advertiserId": "1000112586"
}'

Successful Response

JSON
{
  "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "advertiserId": "1000112586"
}

Status Codes

StatusDescription
200 OKReturns an AuthorizationResponse object with access token.
400 Bad RequestReturns an ErrorResponse if the request is invalid.
401 UnauthorizedReturns an ErrorResponse if the API key is unauthorized.

Consumption Endpoint

Used to process dynamic events based on configured SKUs from the platform, synthetically created to reflect user actions.

POST/api/advertiser-integration/v1/consumption

Environment: Staging

URL: https://api.wecheer.me/staging-campaigns/api/advertiser-integration/v1/consumption

Supported Dynamic Events

* This list is for informational purposes only. Any event type can be added and expanded at the advertiser/campaign level.
** Event names may be changed in the future after final confirmation.
Event NameSKUCommentRewards
Device Registeredglo_kz_deviceregistTriggered when user registered device990
Read Articlevelo_pk_article_thrTriggered when the user reads a specific article on the e-commerce website50
Leave a Reviewvelo_pk_product_reviewTriggered when the user leaves a review on the e-commerce website100
Where did you use your velo quirky pollvelo_pk_poll_location - 100
Did you make it through the weird to the wonderful quirky pollvelo_pk_poll_experience - 100
Layered Awareness quirky pollvelo_pk_poll_strength - 100

Header Parameters

HeaderValueRequiredComment
AuthorizationBearer tokenYesUse token from response of Authorize Endpoint
Content-Typeapplication/json-patch+jsonYes -

Request Payload

JSON
{
  "consumptionId": "I198037776491223",
  "consumptionDate": "20250425T12:34:00Z",
  "identifiers": [
    {
      "key": "phoneNumber",
      "value": "40720005123"
    },
    {
      "key": "email",
      "value": "user@example.com"
    }
  ],
  "consumptionLines": [
    {
      "sku": "velo_pk_poll_strength",
      "quantity": 1
    }
  ]
}
FieldTypeRequiredExampleDescription
consumptionIdstringYesI198037776491223Id of the event in the client system. Must be unique.
consumptionDatestringYes20250425T12:34:00ZDatetime of the consumption. ISO 8601 format: YYYYMMDDTHH:MM:SSZ
identifiersArray of IdentifierYes - User identifiers. Supports phoneNumber and email. At least one required.
consumptionLinesArray of ConsumptionYes - Details of the dynamic event with quantity. Multiple lines supported.

Identifier Object

FieldTypeRequiredExampleDescription
keystringYesemailSupported keys: phoneNumber, email
valuestringYesuser@example.comThe identifier's value

Consumption Object

FieldTypeRequiredExampleDescription
skustringYesvelo_pk_poll_strengthUse SKU name from the dynamic event configuration
productNamestringNoDevice Registration RewardFor Dynamic events is equal to SKU. Optional.
quantitynumberYes1For Dynamic events should be 1

cURL Example

cURL
curl -X 'POST' \
  'https://api.wecheer.me/staging-campaigns/api/advertiser-integration/v1/consumption' \
  -H 'accept: text/plain' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...' \
  -H 'Content-Type: application/json-patch+json' \
  -d '{
  "consumptionId": "I198037776491223",
  "consumptionDate": "20250425T12:34:00Z",
  "identifiers": [
    { "key": "phoneNumber", "value": "40720005123" },
    { "key": "email", "value": "user@example.com" }
  ],
  "consumptionLines": [
    { "sku": "velo_pk_poll_strength", "quantity": 1 }
  ]
}'

Status Codes

StatusDescription
200 OKEvent successfully published
400 Bad RequestRequest is invalid. Possible messages: Missing AdvertiserId or ApiKey / Request body cannot be null / ConsumptionId is required / Identifiers are required
401 UnauthorizedClient not authorized
404 Not FoundAccount not found (user not registered) / User has no cards (user did not join campaign)
409 ConflictEvent already registered. Possible message: Consumption already processed
500 Internal Server ErrorInternal server error

Integration Responsibilities

Getting your integration live is a team effort - and we've made our part as lightweight as possible.

Our goal: Most clients are live in days, not weeks. The clearer we are on who does what from the start, the faster your integration comes together - whichever path you choose.

Our Philosophy

We built our integration around a simple idea: your data environment is yours. Whether Wecheer is sending events into your tools or your platform is sending events into ours, you stay in full control - of your credentials, your data schema, and your business logic. No external party needs access to your internal systems.

Our role is to make the setup fast and the testing safe. We provide everything your team needs to move quickly - documentation, schemas, credentials, and a sandbox - so that by the time you go live, there are no surprises.

Send Events from Wecheer

This covers the outbound flow: Wecheer campaign events (reward earned, stamp received, user registered, etc.) flowing into your CRM, marketing platform, or data warehouse via Segment.

Via Segment Source Recommended

StepHandled by
Add Wecheer as a Source from the Segment Sources catalogYou
Name the source and save the settings (e.g. Wecheer_Prod, Wecheer_Staging)You
Copy the Write Key from the Wecheer source settings page in SegmentYou
Log in to Wecheer and navigate to Advertiser Settings → Outbound Events → Segment, then paste the Write KeyYou
Select the list of events to subscribe to and save the configurationYou
Provide the full event schema, field definitions & sample payloadsWecheer ✦
Support and troubleshoot any issues with event deliveryWecheer ✦
HubSpot tip: If HubSpot isn't yet connected to your Segment workspace, it only takes a few minutes to add - no code required, just an OAuth login. Your Segment admin can do this directly from the Segment Catalog. We're happy to walk you through it on a call.

Via Segment Function

StepHandled by
Provide the event schema, payload structure & integration guideWecheer ✦
Write the JavaScript function logic in your Segment workspaceYou
Configure your destination endpoint & API credentials in the functionYou
Connect the function to the Wecheer SourceYou (we'll guide you)
Test, validate & deploy to productionYou

Send Events to Wecheer

This covers the inbound flow: your platform sending purchase, scan, or engagement events into Wecheer via our API to trigger points, stamps, and rewards in real time.

Via API

StepHandled by
Provide API documentation, endpoint specs & event payload definitionsWecheer ✦
Provision your API credentials (Client ID & Secret) at the advertiser levelWecheer ✦
Provide a sandbox environment for safe pre-production testingWecheer ✦
Configure the Wecheer campaign to accept and process your eventsWecheer ✦
Implement the API calls from your system (authentication, payload construction, error handling)You
Map your internal events to Wecheer's expected event formatYou
Test your integration against the sandbox and validate event processingYou (we'll review results together)
Confirm production readiness & flip to liveTogether
About API credentials: Your Client ID and Secret are generated by Wecheer and configured at the advertiser level. We'll share these with your technical team at the start of the integration. Credentials can be rotated at any time - just reach out to your Wecheer account manager.

Need a Hand? We've Got You.

If your team is stretched thin or you'd rather have us handle the heavy lifting, Wecheer offers hands-on implementation support through our paid Professional Services offering. Just let your Wecheer account manager know and we'll put together a proposal that fits your timeline and scope.

Pro tip for a fast launch: The single biggest factor in integration speed is having the right people aligned early on your side. Loop in your Segment admin, your CRM owner, and your backend developer from day one - and you'll be live before you know it.

At a Glance

✦ Wecheer takes care of

Segment Source setup & workspace invitation · Full event schema & documentation · API credentials & sandbox environment · Campaign configuration to receive your events · Enabling your live production stream · Ongoing technical support & Q&A

Your team brings

Segment workspace access & invitation acceptance · Destination setup & credentials (HubSpot, Salesforce, etc.) · Event mapping to your internal schema · Custom Function code, if using that path · API implementation & sandbox testing

Status Codes & Errors

HTTP status codes and error responses from the Wecheer API.

HTTP Status Codes

CodeStatusDescription
200OKRequest succeeded
400Bad RequestInvalid request format
401UnauthorizedMissing or invalid authentication
404Not FoundResource does not exist
409ConflictResource conflict (duplicate)
429Too Many RequestsRate limit exceeded
500Internal Server ErrorUnexpected server error

Common Error Codes

CodeDescriptionSolution
INVALID_CREDENTIALSapiKey or apiSecret invalidVerify credentials
ACCOUNT_NOT_FOUNDUser not registeredUser must register first
USER_HAS_NO_CARDSUser hasn't joined campaignUser must join campaign
CONSUMPTION_EXISTSconsumptionId already usedUse unique IDs

Error Response Format

JSON
{
  "error": {
    "code": "ERROR_CODE",
    "message": "Human-readable error description",
    "details": { }
  }
}

Rate Limits

API throttling policies and best practices for handling limits.

Note: Specific rate limit values are configured per advertiser. Contact your Wecheer account manager for your exact limits.

Rate Limit Headers

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 295
X-RateLimit-Reset: 1705320000

Handling Rate Limits

JavaScript
async function requestWithBackoff(fn, maxRetries = 5) {
  for (let i = 0; i < maxRetries; i++) {
    const response = await fn();

    if (response.status === 429) {
      const retryAfter = response.headers.get('Retry-After') || 60;
      await sleep(retryAfter * 1000);
      continue;
    }

    return response;
  }
}

Security & Compliance

Enterprise-grade security practices and certifications.

Infrastructure Security

ComponentSecurity Features
Cloud PlatformAWS with serverless architecture
NetworkWAF, VPC isolation, TLS 1.2+
Data at RestAES-256 encryption
Data in TransitTLS encryption

SSL Ratings

ServerSSL Grade
api.wecheer.meA+
app.wecheer.ioA+

Compliance

RegulationStatus
GDPR✅ Compliant
PDPA✅ Compliant

Fraud Prevention

  • reCAPTCHA Enterprise
  • Phone verification (SMS OTP)
  • Velocity checks and rate limiting
  • Pattern detection
  • Duplicate detection

Glossary

Definitions of key terms used throughout the Wecheer platform.

TermDefinition
AdvertiserThe brand or company running campaigns on Wecheer
CampaignA promotional program with defined rules, rewards, and duration
CardA user's membership/participation record in a campaign
CheercoinsWecheer's universal currency across campaigns
ConsumptionA validated action that earns rewards
Dynamic EventA configurable action type represented by a SKU
PointsCampaign-specific currency earned through consumptions
PunchcardDigital stamp card collecting stamps toward rewards
RedemptionExchanging points/coins for a reward
SKUUnique identifier for products or dynamic events