What is verification tracking?
Verification tracking is a method of managing a consumer's experience with SheerID. This is done by generating the SheerID verificationId before the verification form has loaded, then using that verificationId to curate the consumer's experience with SheerID.
Project Requirements & Required Resources
- An engagement with SheerID's Professional Services team is required to implement verification tracking. This engagement will include a program demo
- More technical resources are needed from your team to implement verification tracking — specifically developer resources from the loyalty/account and web teams
- Timeline: Verification tracking typically takes 4-6 weeks of development time
Why implement verification tracking?
Generating verificationIds prior to loading the SheerID form has several benefits:
- It allows for a reliable way to track a consumer's current verification status via calls to our status endpoint, which then will allow you to curate the customer's experience with SheerID
- It lowers end-user friction when you allow consumers to continue in-progress verifications
Verification tracking implementation checklist
In order to present consumers with the appropriate step in the verification flow, you will need to design around a few potential scenarios. The central principle of this set-up is a 'Just-in-time' account eligibility and verification status check on the landing page for the gated offer:
Is the consumer logged in?
- If not, direct the consumer to login to their account
Is the consumer account already tagged as eligible for the offer?
- If yes, then direct the consumer to the 'purchase' flow, and do not present the verification flow
- Optional: Show the consumer a 'verified' message within their account page to confirm that they are getting Student/Military/etc. pricing
Helpful tip: Your system must be prepared to handle all successful verifications, even if you don't recognize the verificationId, as long as the consumer accountId is valid.
Does the consumer have an existing verificationId on file?
- If yes, then call SheerID's verification status endpoint
- If 'currentStep' = 'success', direct the consumer to the 'purchase' flow, and do not present the verification flow
- If 'currentStep' = 'error', begin a new verification
- If 'currentStep' = anything else, provide the consumer with two options:
- Start a new verification
- Resume in-progress verification
- If the consumer does not have a verificationId
- Begin new verification
Helpful tip: Any time you are about to show a consumer the SheerID verification form, the SheerID /status endpoint should be called. Never assume you know the status of a verification unless it is in Success.
Helpful tip: Normally, if a consumer has been successfully verified you would not present them with access to the verification form. The verification form should only be shown to successfully verified consumers if:
- Redemption limit time period has passed
AND
- You want/need those customers to verify again
How to begin a new verification
- Use SheerID's Begin verification endpoint to generate a verificationId for the desired SheerID program
- Store this verification on the consumer's account
- When loading the SheerID form, append the verificationId to the programURL as a query string parameter. For example:
- https://services.sheerid.com/verify/{programId}/?verificationId={verificationId}
- Note: A single consumer can have multiple SheerID verifications, so verificationId should be stored as an array
- Documentation: Begin verification flow
Helpful tip: Be prepared to handle this scenario — verifications can move from 'error' to 'success'.
Helpful tip: If you are planning to set the locale of the verification, this needs to be passed to SheerID when creating the verificationId (it cannot be passed as a query string parameter when loading in the form). To set the locale, the Accept-Language property should be included in the request headers when calling SheerID's Begin verification endpoint.
How to resume an in-progress verification
- To load the form at the appropriate step, you only need to include the verificationId in the query string of programURL. For example:
- https://services.sheerid.com/verify/{programId}/?verificationId={verificationId}
- When the verificationId is appended, the SheerID form will always load the appropriate step for a verification
Additional configurations
- verificationId as required metadata
- In the MySheerID program builder, 'verificationId' should be added as a required metadata key
- Update error page CTA
- The 'Try Again' button on the error page will need to be updated to lead to your landing page/verification entry point
- Please work with your Professional Services Project Manager to update this URL
Verification tracking + account linking
While not technically required, we still highly recommend passing a consumer's accountId to SheerID as externalUserId, even though you have the SheerID verificationId stored. The externalUserId serves as an additional reference point between the SheerID verification and the consumer's account, and can help with troubleshooting, consumer support escalations, and anomaly detection.