# Interpret Results

# Verification Outcome

The verification status will be appended to the targetURL as an additional parameter named verificationStatus, following this syntax:

# Status Values

Status Description Suggested Action
OK New verified account in the collection Allow - Good Quality
Duplicate Duplicate account found in the collection Block - Fraud
NotEligible Invalid image, automation behaviour or avoided verification Review - Unverified
Null Session terminated by user leaving the site Lost - Drop out

# Additional Result Parameters

You can also access the following result items in the targetURL as additional parameters:

# Demographic Data

  • re-age: The resulted age (dynamic age range)
  • re-gender: The resulted gender (Male or Female)

Example:

https://example.com/survey?verificationStatus=OK&re-age=25-34&re-gender=Female

# Matching Information

  • re-matching-verification-session-id: The matching verification session id
  • re-matching-user-id: The matching user id (if available)

Example (for duplicate detection):

https://example.com/survey?verificationStatus=Duplicate&re-matching-verification-session-id=5f9a8b7c6d5e4f3a2b1c0d9e&re-matching-user-id=user123

# Programmatic Access

The information about the structure containing the results of the verification process for each session (Data schema) is detailed in the Experience Platform API Reference.


# Example URL Breakdown

# Successful Verification

https://example.com/survey?
  verificationStatus=OK&
  re-age=25-34&
  re-gender=Female&
  re-verification-session-id=5f9a8b7c6d5e4f3a2b1c0d9e&
  userId=user123&
  re-signature=abc123def456

# Duplicate Detection

https://example.com/survey?
  verificationStatus=Duplicate&
  re-matching-verification-session-id=5f9a8b7c6d5e4f3a2b1c0d9e&
  re-matching-user-id=user123&
  re-verification-session-id=6g0b9c8d7e6f5g4b3c2d1e0f&
  userId=user456&
  re-signature=def456ghi789

# Not Eligible

https://example.com/survey?
  verificationStatus=NotEligible&
  re-verification-session-id=7h1c0d9e8f7g6h5c4d3e2f1g&
  userId=user789&
  re-signature=ghi789jkl012

# Handling Results in Your Application

# JavaScript Example

// Parse URL parameters
const urlParams = new URLSearchParams(window.location.search);
const verificationStatus = urlParams.get('verificationStatus');
const age = urlParams.get('re-age');
const gender = urlParams.get('re-gender');
const userId = urlParams.get('userId');

// Handle different statuses
switch (verificationStatus) {
  case 'OK':
    console.log('Verification successful!');
    console.log(`User: ${userId}, Age: ${age}, Gender: ${gender}`);
    // Allow user to proceed
    break;
  
  case 'Duplicate':
    console.log('Duplicate user detected');
    const matchingUserId = urlParams.get('re-matching-user-id');
    console.log(`Original user: ${matchingUserId}`);
    // Block or flag user
    break;
  
  case 'NotEligible':
    console.log('User not eligible');
    // Review or reject user
    break;
  
  case 'Null':
    console.log('User abandoned verification');
    // Track dropout
    break;
  
  default:
    console.log('Unknown status');
}

# Python Example

from urllib.parse import urlparse, parse_qs

# Parse URL
url = "https://example.com/survey?verificationStatus=OK&re-age=25-34&re-gender=Female"
parsed = urlparse(url)
params = parse_qs(parsed.query)

# Extract parameters
verification_status = params.get('verificationStatus', [None])[0]
age = params.get('re-age', [None])[0]
gender = params.get('re-gender', [None])[0]

# Handle status
if verification_status == 'OK':
    print(f"Verification successful! Age: {age}, Gender: {gender}")
elif verification_status == 'Duplicate':
    matching_user_id = params.get('re-matching-user-id', [None])[0]
    print(f"Duplicate detected! Original user: {matching_user_id}")
elif verification_status == 'NotEligible':
    print("User not eligible")
elif verification_status == 'Null':
    print("User abandoned verification")

# Next Steps