# Product Updates
Source: https://docs.gocertify.me/changelog/overview
The newest features and improvements from Gocertify
## Intelligent OSM typography
Updated on-site messaging to dynamically apply your website's heading font to taglines and body fonts now to all other text. This ensures all messaging stays perfectly on-brand with your site's typography.
## Sub Campaign Access Codes for InStore
We're continuing to invest in bringing our In-store functionality up to date with the latest features. Launcher access codes now work across sub-campaigns, so when a shopper's code was issued against a child or grandchild campaign, it validates correctly at stores running the parent campaign.
See more information in [integrate in store](https://docs.gocertify.me/section/gettingStarted/integrateInStore).
## InStore Launcher
Introducing Gocertify Launcher! A new in-store feature that lets shop assistants verify shoppers on instore sales devices by handing off the verification journey to shoppers and continuing the sales journey upon successful verification. The launcher uses unique Store IDs for reporting puproses, walks through a three-step wizard (scan QR, enter code, access store), and supports configurable reward display formats including text codes, QR codes, barcodes, and flashing codes.
See more information in [integrate in store](https://docs.gocertify.me/section/gettingStarted/integrateInStore).
## Campaign Detail Dashboard
Enjoy the new campaign detail page in the platform showing key campaign properties, target audience, and offer value at a glance. View performance metrics with charts, see where your campaign appears to shoppers, and export shopper data—all in one tabbed interface.
## Offers Index Page
View all your offers in one place with key details and live status within the Gocertify Platform.
See more information in [choose reward](https://docs.gocertify.me/section/buildRewardFlows/chooseReward).
## Animated Verification Loading State
Added a loading sequence to the verification screen that communicates progress (e.g., "Checking your email domain", "Reviewing your document") whilst Gocertify processes the shopper's verification.
## Improved Settings Sidebar Navigation
We've moved the Settings link from the profile dropdown menu to the main sidebar navigation, making it easier to discover.
## Dashboard UI Refresh
Updated the dashboard UI to use our latest design language and moved primary actions like Export and New Target from the top navigation bar into table toolbars where they're more contextually relevant.
## Improved Document Consent Copy
Updated the document consent legal copy in the shopper verification flow to provide clearer, GDPR-aligned wording about AI processing and data handling. The new English copy has been translated and verified across all 13 supported locales.
## Cześć!
We've added Polish (pl-PL) as a supported platform language with full translations for the reward flow, support, and verification surfaces. The locale includes currency mapping for Polish złoty (PLN) and falls back to British English for any missing translations.
## Multiple Date Rules for OSM
Added flexible date scheduling for on-site messages so you can now promote the same offer across multiple separate time periods. For example, run a "Free Delivery" campaign during Black Friday weekend and again over Christmas, without creating duplicate placements.
## Customise External Campaign Offer Terms
You can now customise the "Offer terms" text that appears for OfferHub campaigns.
## Improved Verification Speed
Improved document identity verification speed by 30% without compromising how decisions are made or errors are handled through parallelisation of checks and performance optimisation.
## Improved Regional Switcher
We've improved the market switcher performance helping you navigate quickly between regional brands.
## Gocertify Intelligence Blurry Image Check
We've improved verification speed by instantly detecting blurry document photos and prompting customers to retake them - helping shoppers complete verification faster by catching photo quality issues upfront.
## Reusable Offers
Manage rewards in one place (discounts, gift cards, content gates) and reuse them across multiple campaigns. Changes to an offer update all associated campaigns ensuring everything stays in sync.
See more information in [choose reward](https://docs.gocertify.me/section/buildRewardFlows/chooseReward).
## Fully Migrated to `gocertify.js`
We've completed the switch from the old `embed.js` to `gocertify.js`. All brands now have access to the latest features and improvements.
See more information in [integrate on site](https://docs.gocertify.me/section/gettingStarted/integrateOnSite).
## Improved Shopper Rejection Screens
Rebuilt rejection and review screens to give shoppers clearer next steps and faster access to manual review. Shoppers can now request a review directly from the rejection screen without navigating through multiple steps, and brands without manual review show an "Exit" button to help shoppers move on quickly.
## A refreshed shopper reward experience
We've redesigned the shopper reward flow from the ground up. We've kept everything your shoppers already know and love, and given it a thorough design polish and an improved experience.
* **Fresh visual design:** a clean new look, with the same components and journey your shoppers already trust
* **Clearer, more guided journey:** better progress indicators, clearer signposting, and easier access to support mean fewer drop-offs
* **Better mobile responsiveness:** the flow now adapts more gracefully to smaller screens
* **Smoother interactions and animations:** polished transitions so shoppers feel guided through a flow
* **More customisation control:** expanded options to tailor the reward experience to your brand
This update is live and there's nothing you need to do. Your shoppers will start seeing the improved experience right away.
## Checkout Page OSM for Shopify
Brands using the Shopify app can now display promotional messages directly on their checkout page. Add the new **gocertify-checkout-osm-extension** block in your Shopify theme editor to promote offers at the point of purchase. Configure a banner heading, description, and link URL to your Gocertify verification page.
See more information in [Shopify Integration](https://docs.gocertify.me/section/promoteOffers/shopifyIntegration).
## Thai Language Support
Gocertify now supports Thai (th-TH) as a locale option. All verification flows, on-site messages, and user interfaces are available in Thai, with localised date, time, number, and currency formatting (Thai Baht). Configure your campaigns for the Thai market by setting the locale to `th-TH`.
See more information in [customise copy](/section/buildRewardFlows/customiseCopy).
## Inline OSM Placement Position
Added position controls for inline on-site message placements, allowing you to insert messages before, after, or inside (start/end) the target element. Configure separate positions for desktop and mobile views to better adapt messages to different page layouts.
See more information in [inline placement osm](https://docs.gocertify.me/section/promoteOffers/inlinePlacementOSM).
## Advanced Targeting Search Upgrade
Upgraded Advanced Targeting search to support full-text search with prefix support. You can now find targets using multiple terms (e.g., "Buds graphite" now matches "Galaxy Buds FE / graphite / BT"). Enjoy faster, more relevant search results at scale.
See more information in [advanced targeting](https://docs.gocertify.me/section/promoteOffers/advancedTargeting#advanced-targeting).
## OSM Preview Mode
Fixed an issue where placements with restrictive visibility rules couldn't be previewed. Visibility checks now run in informational mode during preview, allowing users to see and test placements regardless of their visibility conditions.
See more information in [on-site placements](https://docs.gocertify.me/section/promoteOffers/on-site-placements).
## Blocked User Password Recovery
Fixed an issue where blocked dashboard users had to contact support to regain access. Blocked users can now unblock their accounts by resetting their password through the standard "Forgot password" flow.
See more information in [dashboard access](https://docs.gocertify.me/section/gettingStarted/dashboardAccess#account-blocking-and-recovery).
## Region Selector Shortcut
Added a contextual hint and "Show me" shortcut on the Integrate on-site page to make it simpler to install the Gocertify script across multiple regions.
See more information in [integrate on site](https://docs.gocertify.me/section/gettingStarted/integrateOnSite).
## Advanced Targeting Improvements
Improved the Advanced Targeting interface with a better CSV upload including improved error messages and debugging.
See more information in [advanced targeting](https://docs.gocertify.me/section/promoteOffers/advancedTargeting).
## Braze CRM Integration
We've integrated with Braze to enable more Brands to capture and utilise shopper insights across the journey!
See more information in [Braze CRM Integration](https://docs.gocertify.me/section/captureData/braze#see-step-by-step-tutorial).
## Global Learning Portal Verification
Verify students worldwide! We've expanded our student learning portal verification coverage globally.
See more information in [closed user groups](https://docs.gocertify.me/section/buildRewardFlows/closedUserGroups).
## Webhook Bearer Authentication
Added Bearer token authentication support for webhook integrations. Brands can now configure an optional API token in the webhook settings, which will be sent as an Authorization header to enable webhooks to call protected endpoints.
See more information in [webhooks zapier](https://docs.gocertify.me/section/captureData/webhooksZapier).
## Easily validate your website script installation through a dedicated settings page
You can now verify the Gocertify script on your website directly from a new "Integrate on-site" settings page. The page provides ready-to-copy script snippets with your brand's unique identifier already included, eliminating manual configuration errors. Once you've added the script to your site, use the built-in validation tool to confirm it's working correctly, making onboarding faster and reducing the need for technical support during setup.
See more information in [integrate on site](https://docs.gocertify.me/section/gettingStarted/integrateOnSite).
## Improved savings amount calculator for onsite campaign messages
We've improved how campaign discount values are calculated and displayed to shoppers in onsite messages. When your campaign offers a percentage discount like "30% off", the onsite message calculates and displays the actual savings amount to shoppers (e.g. "Save £15.60"). We've improved how this calculation handles decimal values, so discounts like "30.5% off" now produce accurate savings amounts
See more information in [dynamic text](https://docs.gocertify.me/section/promoteOffers/dynamicText).
## Use web components to embed Gocertify placements on-site
You can now embed Gocertify targets directly into your pages using a simple web component tag instead of relying on JavaScript functions. Just add `` to your HTML, and the component automatically fetches and displays the appropriate placement content for that product or page. This approach makes it easier to add Gocertify campaigns to your site, reduces the amount of custom code you need to write, and ensures targets load more reliably by checking for page readiness before attempting to display content.
See more information in [advanced targeting](https://docs.gocertify.me/section/promoteOffers/advancedTargeting).
## Automatically update on-site messaging savings amounts with a new Shopify variants block
You'll now see a new block in Shopify that automatically updates savings amounts when shoppers select different product variants. Previously, the purchase amount remained fixed at the base product price regardless of which size or colour was selected. Now, on-site messages always display the correct savings for the selected variant.
See more information in [shopify integration](https://docs.gocertify.me/section/promoteOffers/shopifyIntegration).
## View and export contacts filtered by region
You can now view reports and export shopper contacts across all regions you have access to. This is particularly useful if you manage campaigns across different countries or markets, as you can now get a complete picture of your audience and generate unified reports without manually combining data from separate regions.
See more information in [dashboard access](https://docs.gocertify.me/section/gettingStarted/dashboardAccess).
## Add pre-approved email lists to allow your team to test verification
You can now pre-approve specific email addresses for your brand, allowing trusted users to test the standard email verification process. This streamlines onboarding for team members, partners, or frequent collaborators whilst maintaining security controls. Your account manager can manage the list of allowed emails, so let them know if you need to add any additional email addresses.
See more information in [dashboard access](https://docs.gocertify.me/section/gettingStarted/dashboardAccess#team-management).
## You can now manage team access with clearly defined roles like Admin, Creator, and Viewer.
You can now manage dashboard access with a clearer, more structured role system. Users are now assigned one of four roles: Brand Admin (full control), Region Admin (regional management), Creator (can create and edit campaigns), or Viewer (read-only access). This makes it easier to understand who has what level of access at a glance and simplifies the process of granting appropriate permissions when inviting team members to your dashboard.
See more information in [dashboard access](https://docs.gocertify.me/section/gettingStarted/dashboardAccess#team-management).
## Improve CSV import for advanced targeting
We've improved the CSV import process for Advanced Targeting - ensuring your imports work reliably even when your spreadsheet software adds extra empty columns or has inconsistent formatting, saving you time troubleshooting failed uploads.
See more information in [advanced targeting](https://docs.gocertify.me/section/promoteOffers/advancedTargeting).
## Improved performance and workflows
* You can now use the "select all live offers" quick link to select only published campaigns, making it much easier to manage [on-site message placements](/section/promoteOffers/on-site-placements). This change streamlines your workflow when setting up OSM placements for closed user groups or other targeted campaigns.
* You can now use SKUs containing slashes in [advanced targeting](/section/promoteOffers/advancedTargeting) rules. This gives you more flexibility when setting up advanced targeting rules.
* We've improved the performance of the Gocertify platform, particularly for large brands with a lot of campaigns and offers. This should result in a faster and more responsive experience for you.
## Added a guided onboarding flow for new dashboard users
When you log in to the Gocertify dashboard for the first time, you'll now be guided through a four-step onboarding process that helps you set up your profile, select your department, define your success metrics, and configure notification preferences. This ensures you have everything configured properly from the start, making it easier to get value from the platform immediately.
See more information in [dashboard access](https://docs.gocertify.me/section/gettingStarted/dashboardAccess).
## You can now add clickable links to data capture consent text
You can now add clickable hyperlinks to your data capture explicit opt-in text using markdown formatting. When you include a link like `[click here](https://example.com)` in your custom consent text, it will automatically open in a new tab when shoppers click it. This makes it easier to direct customers to your terms and conditions or privacy policy without them losing their place in the sign-up process.
## Added a changelog card to the dashboard sidebar
We've added a changelog card into the dashboard so you can keep informed of the latest updates and opportunities.
See more information in [dashboard access](https://docs.gocertify.me/section/gettingStarted/dashboardAccess).
## Updated invitation experience for new team members
You can now invite team members to your brand through an updated onboarding experience. When you add a new team member, they'll automatically receive a personalised invitation email with a comprehensive onboarding experience that get's them started quickly and effectively.
See more information in [dashboard access](https://docs.gocertify.me/section/gettingStarted/dashboardAccess).
## Set up to 30 visibility rules for on-site messages
You can now add up to 30 visibility rules against a given OSM placement (increasing the limit from 20). This gives you more flexibility when setting up campaigns that need to appear on multiple specific pages, reducing the need to create separate campaigns or use more complex targeting methods.
See more information in [osm visibility](https://docs.gocertify.me/section/promoteOffers/osmVisibility#visibility-toolkit).
## Improved tracking link signature handling to support URLs with nested query parameters
You can now use tracking links with nested query parameters in your campaigns. Previously, the system couldn't properly sign URLs where query strings were embedded within the path (like `destination:https%3A%2F%2Fexample.com%2F%3Fparam%3Dvalue`), which meant some affiliate network tracking links wouldn't work correctly. This improvement ensures your tracking links are properly secured and function as expected, giving you more flexibility when setting up affiliate network integrations.
See more information in [affiliate tracking](https://docs.gocertify.me/section/trackImpact/affiliateTracking).
## Other Improvements:
* Improved how [Advanced Targeting](https://docs.gocertify.me/section/promoteOffers/advancedTargeting#advanced-targeting) handles missing targets
* Shoppers will now see a clear manual review message when restricted by your [reward guardrails](https://docs.gocertify.me/section/buildRewardFlows/rewardGuardrails#reward-guardrails)
* Fixed a bug encountered when closing the custom script modal
* Fixed an issue where sticky banners and other placement elements would persist across pages
* Fixed misaligned error icons in form validation
## 2FA for all accounts
All accounts are now secured with two-factor authentication (2FA) by default. If you use SSO, 2FA will be managed by your provider, if you use email/password 2FA will be enforced with an email based OTP.
See more information in [dashboard access](/section/gettingStarted/dashboardAccess).
## Single Sign-On (SSO)
Sign in to the dashboard with your Microsoft 365 or Google accounts!
Find more information in the [Single Sign-On (SSO)](/section/gettingStarted/dashboardAccess) section.
## Advanced Targeting savings calculator
[Advanced targeting](/section/promoteOffers/advancedTargeting) lets you run campaigns on specific products or pages by defining custom identifiers (like SKUs) and variables that aren't available in your standard data layer. Advanced targeting can now pull pricing data from multiple sources to ensure the displayed discount reflects the best available information. This means shoppers will see the correct savings amount even when promotional prices vary across different parts of your site.
## Fresh Dashboard Design
Our refreshed dashboard design makes it easier to run smart and meaningful rewards! Enjoy simpler navigation, enhanced data visualisation, and streamlined campaign management tools.
## Limit offer eligibility to specific countries
Switch on country level targeting to ensure that rewards are only available to shoppers within in your target markets. To take this even further, you can now add a new OSM visibility rule that limits which countries your on-site messages will be promoted within.
## Direct Transaction Tracking
Track transactions directly, without an affiliate network, to measure reward strategy performance
* Connect transactions to Gocertify offers for clearer performance insights
* Measure actual revenue and order details to validate discount impact
* Optimise future campaigns with trustworthy, first-party conversion data
## AB Testing
Optimise your reward strategies with data-driven A/B testing
* Compare different discount percentages, messaging approaches, and positioning to identify what works
* Measure the impact of changes on your core KPIs
## Yotpo Integration
Gocertify now integrates with Yotpo! Reward your users with points when they verify as a member of a target group (Students, Key Workers, etc).
Find more information in the [Yotpo Integration](/section/promoteOffers/yotpo) section.
## Dynamic Messaging
Personalise your on-site messaging with dynamic messaging. We've introduced custom variables so you can fully customise your CTA's, from highlighting specific products (e.g. "Like this bag? Get 20% off!") to personalising the messsage for logged in users ("Sarah, you've got 20% off your next purchase!").
Find more information in the [Dynamic Messaging](/section/promoteOffers/dynamicText) section.
## Attentive Integration
Gocertify now integrates with Attentive! Keep your shoppers engaged with personalised, targeted offers and rewards.
Find more information in the [Attentive Integration](/section/captureData/attentive) section.
## Advanced OSM targeting
Advanced targeting is an enterprise feature that let's you run unique on-site messages at scale. From targeting specific product SKUs to showing data driven messaging (i.e. based on stock levels), you can now run more targeted and impactful campaigns.
Find more information in the [Advanced Targeting](/section/promoteOffers/advancedTargeting) section.
## New custom OSM Visibility rules
Use JavaScript to define your *own visibility rules* based on **any data** available or in your datalayer.
For example, you could create a custom rule to only show an offer to shoppers who have a certain basket value, helping drive an increase in AoV.
Find more information in the [On Site Messaging](/section/promoteOffers/osmVisibility#script) section.
## Multiple choice custom fields
[DataCapture](/section/captureData/overview) now supports [multiple choice](/section/captureData/customFields#multi-select) custom fields. Collect deeper insights on your shoppers and drive more impactful downstream marketing campaigns.
## Sync Custom Fields to Bloomreach
We've added support for syncing custom fields to Bloomreach. This means you can now sync your customer's complete profile to your Bloomreach account and use it to power targeted marketing campaigns.
## Shopify App!
Our team have been hard at work building a brand new Shopify app! Quickly install Gocertify site wide and access all our features across your online store with zero code.
* **No-code head script installation:** Once you've installed the app and connected your store, we'll automatically install the Gocertify head script site wide - no dev time required.
* **Drag and Drop Shopify Blocks:** Simply drag and drop OfferHub, Landing Page and Onsite Messaging blocks onto your pages, no need to edit any code.
* **Automatic coupon code feed:** Connect your verification flows to your Shopify Discounts and we'll automatically generate unique coupon codes for your customers, so you don't have to.
Find more information in the [Integrate on Site](/section/gettingStarted/integrateOnSite#shopify) section.
This app is currently in beta and not listed on the Shopify App Store. If you want to try it out, please contact your Customer Success Manager.
## Refreshed Documentation
We've given our documentation a *complete overhaul*, making it even easier to [get started](/section/gettingStarted/overview) and helping you get the most out of the Gocertify platform.
## gocertify.js Released
We've released a new version of our head script, `gocertify.js`, replacing the old `embed.js` script. This new version increases performance and includes a number of new features (such as [On Site Messaging](/section/promoteOffers/on-site-placements)).
To start using the new script, please follow our [upgrade guide](/section/gettingStarted/upgradeGuide).
## New Placement Types
We've added a range of new placement types to On Site Messaging. Display your offers exactly where you want them, whether that's in the header, inline or floating across your site.
Find more information in the [On Site Messaging](/section/promoteOffers/on-site-placements) section.
* **Floating Button:** a hovering trigger that floats above the page content.
* **Sticky Bar:** a prominent sticky bar at the top or bottom of your site.
* **In-line:** rewards directly on product/checkout pages, maximising conversion of high intent shoppers.
## OSM Multi-campaign Picker
OSM now supports multiple campaigns, including both external and closed-group offers, helping you drive incremental conversions.
## OSM Dashboard Refresh
Off the back of our exciting launch of On Site Messaging [Visibility Rules](/section/promoteOffers/osmVisibility), we've given the OSM page a refresh!
* **New design:** a fresh look and feel that keeps everything organised and intuitive.
* **Improved usability:** easier to add new offers and campaigns to your OSM, and manage existing ones.
* **Fine-tuned controls:** we've added a number of new controls to help you fine-tune your OSM campaigns.
## OSM Visibility rules
Promote the right offer to the right shopper at the right time.
Our visibility rules give you complete control over which offers are visible to which shoppers.
Find more information in the [On Site Messaging](/section/promoteOffers/osmVisibility) section.
We currently support:
* **Time of day:** show an offer between certain hours, catching your shoppers when they're most likely to convert.
* **Page URL:** show an offer on certain pages of your site, helping you target specific products or categories.
* **Price:** show an offer for products within a certain price range, ensuring you keep your offers in line with your pricing strategy.
* **Dwell time:** show an offer after a user has spent a certain amount of time on a page, driving incremental conversions.
* **Date:** show an offer between certain dates, helping you run targeted campaigns around key dates and events.
## Custom Fields
Use [Custom Fields](/section/captureData/customFields) to collect any additional data you require during the [verification flow](/section/captureData/overview). Personalise the shopping experience and retarget shoppers. We currently support:
* **Free Text:** useful for collecting names, postcodes or other unstructured information.
* **Dropdown:** best when you have a long list of potential options, such as product categories.
* **Radio Buttons:** used when you have a short list of potential options, such as product size, and want the user to select one.
* **Multi Select:** allow users to select multiple options from a list, useful for collecting information such as hobbies or interests.
* **Date Picker:** make it easy to collect dates, such as dates of birth or other significant events.
## Disability Discounts
We've added a new verification group, enabling you to provide rewards to the disabled community.
We're delighted that Eden Mobility is the first brand to adopt this new reward type!
## Promote rewards with On Site Messaging
Display discounts and offers across your website with our new [OnSite Messaging feature](/section/promoteOffers/on-site-placements).
On Site messaging (OSM) is a powerful way to drive conversions by surfacing offers directly on product/checkout pages, maximising conversion of high intent shoppers.
No additional development work is needed to add OSM to your site as long as the [head script](section/gettingStarted/integrateOnSite) has already been installed.
## DotDigital Integration
Sync shopper data to DotDigital to enrich your customer profiles and drive additional revenue.
## Emarsys Integration
Sync shopper data to Emarsys to enrich your customer profiles and drive additional revenue.
## Dashboard Notifications
Get weekly summaries of key activities and insights from your dashboard.
## Datacapture CSV downloads
Download a CSV of all the data captured from your verification flows and import into any CRM or marketing platform.
## Client Dashboard Launches!
Our mission is to give brands **complete control** over the rewards they run.
We are therefore incredibly excited to launch our new Client Dashboard!
The intial focus is on providing you with high quality reporting on the impact of your rewards, but our roadmap is packed full of dashboard updates designed to help you get the most out of Gocertify, from tweaking your messaging to crafting the perfect reward flow.
## Bloomreach Integration
Sync shopper data to Bloomreach to enrich your customer profiles and drive downstream marketing revenue.
## Ometria Integration
Sync shopper data to Ometria to enrich your customer profiles and drive downstream marketing revenue.
## OfferHub
Host all your offers in one SEO optimised landing page! [OfferHub](/section/promoteOffers/offerHub) lets you instantly showcase all your discounts in one place and drive traffic to your site.
* **Single discount page** Display open offers alongside your closed-group offers in one SEO optimised page.
* **Auto-update** OfferHub will automatically update with new offers and discounts.
* **On-brand design** Keep your page on-site and on-brand.
## Integrate CouponAPI
Gocertify is now integrated with CouponAPI - we'll automatically generate coupon codes for your customers, so you don't have to.
## Cashback
We've added a new reward type! Give shoppers cashback on their purchases and drive additional revenue and loyalty.
## Schedule Campaigns
Plan your campaigns in advance and we'll automatically publish them at the right time.
## Enrich your CRM with first-party data
We can now pass through the data points collected in the verification flow into your CRM. Allowing you to personalise your experience for specific occupation and age groups.
## Verify Government employees
We can now verify Government Staff and Civil Servants in UK, US, CA and AU. Opening up key workers to now a total of 25+ million public sector employees.
## Verify Healthcare & Emergency workers via work emails
34% of healthcare and emergency employees have work emails. These workers can now verify their ownership of their email address for a discount.
## Verify supermarket staff via work emails
Many supermarket staff have work emails. These workers can now verify their ownership of their email address for a discount.
## Translate your verification flow
You can now translate your verification flow into German, Spanish, Danish, French, Italian, Dutch, Swedish, Japanese & Korean!
## Shoppers can now choose how they verify
Give your shoppers a choice in how they get verified. More choice = quicker verification and increased conversion rates.
## "Donate for a discount" is now free for initiatives supporting Ukraine
We're providing our services for free to brands that would like to run a "Donate for a Discount" campaign supporting Ukraine. We expect campaigns like these to drive £100,000s in donations and really make a difference.
## Run closed-group offers on any publisher
Promote any closed-group offer on all your existing partners - expanding to an audience outside of yourclosed-group publishers. And leverage the reach of the largest websites.
## Drive donations for a charity of your choice
We have partnered up with JustGiving to create an incredibly easy way for you to reward any shopper that donates to any JustGiving charity.
## Reward Follows
Supercharge your marketing efforts by rewarding shoppers who follow you on social media.
## Verify Strava Activities
Reward shoppers who achieve health and fitness goals. These offers can be promoted across other publishers, email, social and other marketing channels, with Gocertify verifying activities. Launch an offer that stands out, generate PR and word-of-mouth.
## Partnership with Benefits Everyone
We've partnered with Benefits Everyone! Every offer available to the NHS will now be promoted through their NHS employee benefits portal.
## Verify any age category!
Our AI driving license & passport verification can now verify any age category. Just let us know the min and max age that you'd like to target and we'll set everything up.
## New Reward Type - Gated Content
Alongside our standard coupon code reward you can now give verified users access to an exclusive link. This link can lead shoppers to a hidden landing page with discounted products, somewhere to claim a freebie and more!
## Verify Postal & Delivery Staff
We've added postal and delivery employees to our key worker verification tool! Attract and verify an additional 300k people (UK only). Delivery staff played a vital role throughout the pandemic. This is the very first time brands can reward this group.
## Auto-Add Coupons to Checkout
Auto-add a coupon code in the basket when someone is verified - improving your conversion rates and customer experience. Shoppers won't have the problem of losing the coupon in their clipboard!
## Verify Supermarket Staff
We've added supermarket employees to our key worker verification tool. Attract and verify an additional 1.3m people who played a vital role throughout the pandemic. This is the very first time brands can reward this group.
## Reward refer a friend!
Reward anyone that shares a Gocertify offer with entry into a competition or freebie
## Quicker, more organised & more stylish
* **Quicker:** just 2.5 seconds between submitting a verification and receiving a coupon code.
* **More organised:** organise all your rewards into one group discount hub.
* **More stylish:** take a look at our revamped design.
## Live in United States and Ireland!
We're now helping brands offer group discounts in the United States and Ireland. Let us know where you'd like us to focus on next.
## Verify Military
We've added support for Military Verification. Instantly reward any member of the armed forces.
## Verify Youth
We can now verify under-25s! Our first of its kind image recognition tech analyses a picture of a Passport or Driving License to establish someone's age in seconds.
## Webcam ID Scanner
Your users can now take a picture of their ID with their webcam. No need for them to a take picture on their phone and transfer to their desktop with our new uploader.
## Verify Students
We've added support for Student Verification you you can now instantly verify any Student at a UK School or University.
## Verify Police and Fire Service workers
You can now verify anyone who works for the Police and Fire Service using image recognition on workplace IDs.
## Verify teachers
You can now verify teachers! From now onwards you can can verify 500k UK teachers who work at a registered UK school. Teachers are verified using their work email address.
## Create a landing page
You can now verify your users without them having to leave your website. Every brand that signs up to Gocertify receives a widget which can be added to your site with one line of code.
Find more information in the [Getting Started](/section/gettingStarted/landingPages) section.
## Personalise your favicon
We're always adding features to make sure your page is as on-brand as possible. Now your Gocertify landing page includes your own favicon!
# Choose your reward
Source: https://docs.gocertify.me/section/buildRewardFlows/chooseReward
Create reusable offers to manage rewards across multiple campaigns.
An **offer** is a reusable reward (i.e. discounts, gift card or private storefront) that you set up once and attach to one or more campaigns. When you update an offer, every linked campaign stays in sync automatically.
## Reward types
Each offer uses one of three reward types. The reward type is set when you create the offer and cannot be changed afterwards.
Unique or multi-use codes for monetary and percentage-off incentives.
Delivered digitally after qualifying purchases via your affiliate network.
Exclusive access to a discounted pricing storefront or premium content.
## Creating an offer
From the dashboard, select **Offers** from the side menu.
Click **New offer** and select the reward type: **Discount**, **Gift card**, or **Content gate**.
Give the offer a name and fill in the reward-specific settings — delivery method, discount value, gift card batch, or content gate copy. See the guides above for details on each reward type.
Once saved, select the offer when creating or editing a campaign. Any future changes to the offer will automatically apply to all linked campaigns.
You can link your preferred reward platform (e.g. Uniqodo) to your Gocertify account for an automated reward feed, or upload a CSV file of your existing codes.
# Verify User Groups
Source: https://docs.gocertify.me/section/buildRewardFlows/closedUserGroups
Convert shoppers with targeted, gated rewards.
Gocertify enables you to target your campaigns to any combination of our 40+ supported closed groups. We handle the verification process for you end-to-end.
## How it works
Gocertify's AI powered verification process verifies shoppers quickly, accurately and securely by automatically analysing "verification proof" in the form of:
Many closed groups can be identified by their email address domain. For example, many healthcare workers have an email ending in `nhs.uk`.
If a shopper verifies using email, Gocertify validates that the domain matches the group criteria and sends the shopper a verification code to prove ownership of that email address.
Shoppers can verify their identity by uploading a document, for example a work ID, passport, driving licence or payslip, that can then be analysed
using Gocertify's AI technology.
Gocertify does not share the document with the brand or store
the shopper is shopping with, but does let the brand know which category of discount the shopper verified for (e.g. student or NHS). If the shopper
is verifying special category data (i.e. that they are pregnant, or that they have donated blood) Gocertify will ask the shopper for their explicit consent to process the document
and send a code.
If a shopper chooses to donate to JustGiving, Gocertify will direct the shopper to the JustGiving site. JustGiving will confirm with Gocertify that the
shopper has made a charitable donation, and Gocertify will issue the reward.
Students can verify instantly by logging into their university or college account. When a student selects this option, they're redirected to their institution's login page. Once they authenticate with their university credentials, their student status is confirmed automatically and Gocertify issues the reward.
This method is available in **41 countries** including the UK, 38 European countries (Albania, Armenia, Austria, Azerbaijan, Belgium, Bulgaria, Croatia, Cyprus, Czechia, Denmark, Estonia, Finland, France, Georgia, Germany, Greece, Greenland, Hungary, Iceland, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Moldova, Netherlands, North Macedonia, Norway, Poland, Portugal, Romania, Serbia, Slovakia, Slovenia, Spain, Sweden, Switzerland), Canada, and Turkey.
It's ideal for institutions where students may not have recognisable `.ac.uk` or `.edu` email addresses.
Shoppers can verify instantly by authenticating with a recognised digital identity provider — such as BankID (Norway/Sweden) or Google Wallet (US). The shopper selects their digital ID, authenticates through their provider, and the result is returned to Gocertify in real time.
This method is available for **age-based verification groups** and covers 60+ digital identity schemes across 20+ countries. This is a premium verification method with per-transaction pricing that varies by scheme - contact sales or your account manager for details.
If a shopper experiences any difficulty verifying, the Gocertify customer service team will manually verify. For this, Gocertify collects the shopper's email,
mobile number, and a copy of the document they are using to verify their status. Gocertify does not share the document with the brand or store the shopper is
shopping with, but does let the brand know which category of discount the shopper verified for (e.g. student or NHS).
## Top Groups
Gocertify supports 40+ closed user groups out of the box and can support additional groups on request.
**Students**: give rewards to students, apprentices and graduates.
**Definition:** a person formally engaged in learning, especially one enrolled in a school, college or university.
**Verification methods:** options include student email, student ID card, learning portal login, or UCAS confirmation letter/enrolment letter.
**Definition:** a person who works for another in order to learn a trade
**Verification methods:** options include a payslip within the last 3 months or an acceptance letter
**Definition:** a person who has received a degree or diploma on completing a course of study, as in a university, college, or school.
**Verification methods:** options include a graduate email or a degree certificate dated within the last year.
**Age:** give rewards based on age categories.
**Definition:** Young people aged between 16 and 24 (can be tailored to specific age ranges).
**Verification methods:** options include passport, birth certificate, driving license, similar government issued ID card with a valid date of birth listed, or digital ID.
**Definition:** Customised age-based discounts.
**Verification methods:** options include passport, birth certificate, driving license, similar government issued ID card with a valid date of birth listed, or digital ID.
**Definition:** Shoppers aged 60 and over (exact age can be tailored).
**Verification methods:** options include passport, birth certificate, driving license, similar government issued ID card with a valid date of birth listed, digital ID, or Senior cards in AU / Senior bus passes.
**Key and essential workers:** give rewards to those who work in key and essential roles.
**Definition:** a provider of health care treatment and advice based on formal training and experience.
**Verification methods:** options include work ID, payslip, certification of practice or work email
**Definition:** a provider of health care treatment within the NHS.
**Verification methods:** options include work ID, payslip, certification of practice or work email
**Definition:** an educator who helps students acquire knowledge and valuable skills.
**Verification methods:** options include work ID, payslip, certification of practice or work email
**Definition:** Someone who serves or has served in the armed forces; a member of a military force.
**Verification methods:** options include military email, ID card, Veterans ID, Discharge Form, War pension or Veterans Railcard.
**Definition:** Someone who works for a police force or fire service.
**Verification methods:** options include work ID, work email, payslip, P45 or pension document.
**Definition:** A person, such as a police officer, firefighter, or EMT, trained in urgent medical care and other emergency procedures.
**Verification methods:** options include work ID, work email, payslip or pension document.
**Definition:** A person involved in loading, transporting, and delivering items to clients or businesses.
**Verification methods:** Options include work ID, work email, payslip or drivers card (usually required by HGV drivers).
**Definition:** A person who works in a large self-service retail market that sells food and household goods.
**Verification methods:** options include work ID, work email, payslip.
**Definition:** A person who does unpaid work, usually fundraising, in aid of a charity
**Verification methods:** options include work ID supported with a valid charity number, work email, payslip (if paid worker).
**Definition:** A person who has worked for the military organisation responsible for the defence of the Commonwealth of Australia and its national interests
**Verification methods:** options include defence email, work payslip or pension document.
**Definition:** A person that helps people and communities overcome challenges and achieve well-being.
**Verification methods:** options include work ID, work email, payslip, carers allowance or proof they are on the social register supported by a valid ID card e.g. driving licence.
**Definition:** A person, such as a police officer, firefighter, or EMT, trained in urgent medical care and other emergency procedures.
**Verification methods:** options include work ID, work email, payslip or pension document.
**Action based:** give rewards based on actions taken by the shopper.
**Definition:** A person who follows your brand's social media account.
**Verification methods:** a screenshot of the user following the brand on the named social media page.
**Definition:** A person who uses the Strava app to track their running, cycling, swimming or other activities.
**Verification methods:** a screenshot of the user's Strava activity.
**Definition:** A person who has donated to a charity.
**Verification methods:** with help from JustGiving, a user follows their platform via our link to verify their donation.
**Other groups:** give rewards to shoppers who meet specific criteria.
**Definition:** The UK gov disability census defines disability as a self-reported individual who had physical/mental health conditions lasting over
12 months impacting day-to-day activities. This aligns with the definition of disability in the Equalities act of 2010.
**Verification methods:**
Disabled Railcard & Bus pass; Blue Badge; Attendance Allowance Letter;Disability Living Allowance (DLA) Letter; Personal Independence Payment (PIP) Award Letter
**Definition:** A person who is pregnant or has a baby and is taking leave off work
**Verification methods:** screenshot of NHS maternity prescription exemption certificate.
**Definition:** A person who works for your brand.
**Verification methods:** employees can verify with their company email.
# Customise Copy
Source: https://docs.gocertify.me/section/buildRewardFlows/customiseCopy
Convert shoppers with targeted, gated rewards.
Gocertify supports internationalisation in 13 languages . To set up your campaign we will need a title, description, offer terms, tagline, and FAQs (see below for more details).
You can also customise the images and styling for specific campaigns (see [Customise Styling](/section/gettingStarted/customiseBranding))
# Discounts
Source: https://docs.gocertify.me/section/buildRewardFlows/discounts
Convert shoppers with targeted, gated rewards.
Discounts are the most common reward type used by brands, and can be used to convert shoppers with monetary (£) or percentage off (%) incentives. If you'd
rather provide secure access to a storefront with the discounts pre-applied, you can use our [Gated Content](/section/buildRewardFlows/gatedContent) reward type instead.
We recommend adding a prefix e.g. HEALTH-20 for Healthcare Workers - so you can run personalisation for each group using your CRM / CDP
## Unique codes
Unique, or single-use codes let you give every shopper a different discount code. We require a CSV of these codes or can integrate directly with your
preferred ecommerce platform or promotion service.
Provide us with a single column CSV of discount codes.
Install the [Gocertify Shopify app](/section/gettingStarted/integrateOnSite#shopify) by requesting a link from your Gocertify account manager.
Create a discount in Shopify and name it using the following convention: `GC-campaignSlug-discountPercentage`, i.e. `GC-keyWorkers-20` for a 20% discount targeted at key workers.
* Check the option `Limit the number of times this discount code can be used` and set it to `1`.
* Leave the `Limit to one use per customer` option unchecked.
You do not need to enable the embed script again if you have already added this through another method and only want to integrate the discount feed.
Provide us with your Uniqodo `API key` and `offer ID` (e.g. 9384) and we'll automatically add codes to your campaign. You can also upload a CSV of discount codes as a fallback.
We can fetch codes directly from your affiliate network offer feed.
## Multi-use (generic) codes
Multi-use codes, also known as generic or vanity codes, let you give every shopper of the same campaign the same discount code e.g. `SAVE20`. To avoid leakage, where codes are shared outside of your expected channels, we recommend making these codes distinct and unique to your campaign. Provide us with the code and we'll apply it to your campaign.
# Gated Content
Source: https://docs.gocertify.me/section/buildRewardFlows/gatedContent
Convert shoppers with targeted, gated rewards.
After a successful verification, the shopper will be redirected to your gated
content using what we call a **"magic link"**.
This magic link could include an optional `signature` parameter that will let you validate its
authenticity, giving you the confidence to provide secure access to private content
or storefronts with the discounts pre-applied.
If you don't need to validate the authenticity of the magic link, then it can simply be the destination URL of your gated content.
You don't need to keep reading this section.
## Requirements for signature validation
You need to ask your Customer Success Manager to set a **Signature Key** to your brand.
If you manage more than one brand (one per territory, for example), you will need
a different signature key for each brand.
**Important**: Don't share nor use this signature key in any public-facing code.
## Setup
You will need to build a small page that will act as a proxy between the shopper and the gated content.
Gocertify will then use this page as the magic link destination.
When redirecting the shopper to this proxy page, Gocertify will add the following query parameters:
* `signed_token`: A unique identifier of the reward flow (related to the shopper and the specific campaign).
* `clicktimestamp`: The time (UTC timestamp) when the shopper clicked the magic link.
* `signature`: The **SHA256** hash of `gocertify{{clicktimestamp}}{{signed_token}}{{signature_key}}`
An example of the full URL would be, assuming the signature key is `1234567890`:
```
https://your-page.com/proxy?clicktimestamp=20250326143831&signedtoken=af551f61&signature=21a07e72ef34d9546e1f41c56171f2990f5fa083a9f516ee891a394838062eca
```
## Authenticating the magic link
The proxy page will need to recreate the signature using the same parameters and then confirm it's the same one that was received as query string.
Optionally, you can also validate the `clicktimestamp` is no older than X seconds (10 seconds is a good default).
Here's a sample implementation:
```rb proxy.rb theme={null}
clicktimestamp = params[:clicktimestamp]
signed_token = params[:signed_token]
signature = params[:signature]
signature_key = ENV['GOCERTIFY_SIGNATURE_KEY']
input = ["gocertify", clicktimestamp, signed_token, signature_key].compact_blank.join
computed_signature = Digest::SHA256.hexdigest(input)
if computed_signature == params[:signature] && clicktimestamp.to_time > 10.seconds.ago
# The signature is valid
end
```
```php proxy.php theme={null}
$clicktimestamp = $_GET['clicktimestamp'];
$signed_token = $_GET['signed_token'];
$signature = $_GET['signature'];
$signature_key = getenv('GOCERTIFY_SIGNATURE_KEY');
$input = "gocertify" . $clicktimestamp . $signed_token . $signature_key;
$computed_signature = hash('sha256', $input);
if ($computed_signature == $signature && $clicktimestamp.to_i > time() - 10) {
// The signature is valid
}
```
```js proxy.js theme={null}
const clicktimestamp = new URLSearchParams(window.location.search).get('clicktimestamp');
const signed_token = new URLSearchParams(window.location.search).get('signed_token');
const signature = new URLSearchParams(window.location.search).get('signature');
const signature_key = ENV['GOCERTIFY_SIGNATURE_KEY'];
const input = "gocertify" + clicktimestamp + signed_token + signature_key;
const computed_signature = crypto.subtle.digest('SHA-256', new TextEncoder().encode(input))
.then(buf => buf.subarray(0, 8).toString('hex'))
.then(console.log);
if (computed_signature == signature && clicktimestamp.to_i > Time.now.to_i - 10) {
// The signature is valid
}
```
# Gift Cards
Source: https://docs.gocertify.me/section/buildRewardFlows/giftCards
Convert shoppers with targeted, gated rewards.
**Important:** This flow requires a connection to your Affiliate Network (through affiliate links).
Gift cards are a powerful way of both converting shoppers and encouraging repeat purchases. Once a shopper has verified their status, and purchased an item,
Gocertify will issue a gift card via SMS automatically once the transaction is approved by your network.
You will need to issue e-gift card codes in your network (or through your own system). They can be in the form of a unique code or a unique URL.
Once you have generated a list of e-gift card codes, you can send the resulting CSV file to your Customer Success Manager.
We will notify you when we are running out of gift card codes.
From a shopper's perspective, the flow is as follows:
Shopper verifies their status using Gocertify.
Shopper purchases an item, which is tracked through your affiliate network.
Once Gocertify receives the transaction from the Affiliate Network (typically within 24 hours), we will send a notification to the shopper.
Once the transaction is approved by the Affiliate Network (typically 60 days after the purchase), we will issue the gift card to the shopper.
## Configuring the flow
Each campaign at Gocertify can have a specific flow configured, setting some rules for the gift card assignment:
* **Purchase amount**: The minimum purchase amount that qualifies for a gift card.
* **Commission amount**: A value (or range) for the commission amount that qualifies for a gift card.
* **Gift card batch (CSV)**: The CSV file containing the gift card codes.
For example, you could have 2 campaigns running at the same time:
* Campaign 1: *"Get a £20 gift card for purchases over £100"*
* Campaign 2: *"Get a £50 gift card for purchases over £200"*
A shopper could use the Campaign 2 flow (as it has a higher gift card value), and end up buying a £150 item.
In this case, even though they use the Campaign 2 flow, they will receive a £20 gift card, as the purchase amount matches the Campaign 1 flow, and not the Campaign 2 flow.
## Advanced configuration
If you want to have more control over what specific purchases should qualify for a gift card, you can use the commission amount rule.
For example, you could have a campaign like this one:
* Campaign 3: *"Get a £40 gift card when purchasing the latest iPhone"*
And we set a specific commission amount for this campaign, let's say £10.55.
Then, you can set your own rules on your Affiliate Network to assign that specific commission amount if the item purchased is the latest iPhone.
All the rest of the flow will work as expected, and the shopper will receive a £40 gift card once the transaction (with a commission amount of £10.55) is approved by the Affiliate Network.
# Overview
Source: https://docs.gocertify.me/section/buildRewardFlows/overview
Convert shoppers with targeted, gated rewards.
Campaigns form the fundamental building blocks of reward flows. Each campaign is powered by a reusable [offer](/section/buildRewardFlows/chooseReward) - a reward that you set up once and can share across multiple campaigns. When you create a campaign you can:
* [Choose the reward](/section/buildRewardFlows/chooseReward) by selecting an existing offer or creating a new one (e.g. 20% off discount code, free shipping, or a free gift with purchase)
* [Customise the copy](/section/buildRewardFlows/customiseCopy) and design of the campaign
* [Gate the offer](/section/buildRewardFlows/closedUserGroups) to a specific audience (or make it available to all shoppers)
* [Enable DataCapture](/section/captureData/overview) to collect information from shoppers (e.g. email address)
You can also group campaigns, enabling you to have one parent campaign (i.e. Key Worker Discounts) and then have child campaigns (i.e. Healthcare Workers and Teachers).
In this section we'll cover how to create and configure campaigns but feel free to skip ahead to the [DataCapture](/section/captureData/overview)
section to learn more about how to leverage rewards to understand your customers better or the [Promotion](/section/promoteOFfers/overview) section
to learn how to omnichannel promote these offers to your customers.
# Reward Guardrails
Source: https://docs.gocertify.me/section/buildRewardFlows/rewardGuardrails
Set limits on how often shoppers can redeem rewards.
Gocertify makes it easy to set limits on how often and when shoppers can redeem rewards. This is useful for protecting your rewards from abuse and ensuring they are only redeemed by eligible shoppers.
## Gate rewards by country
Limit the redemption of rewards to shoppers in certain countries. Reach out to your account manager to enable this feature for your account.
## Limit the number of times a reward can be redeemed
Set up a limit by asking your Gocertify account manager to enable the feature for your account.
# CDP Integrations
Source: https://docs.gocertify.me/section/captureData/CDPintegrationOverview
Start building loyal communities with targeted, gated offers.
The data collected from will be synced to your dashboard, where you can download the data in CSV format.
Gocertify also supports a direct integration with the following platforms, enabling you to real-time sync data to your CDP/CRM and action it straight away.
Grow faster and more efficiently with email, sms, reviews and more. Powered by your customer data.
Dotdigital's all-in-one platform unifies customer data to power your campaigns
Personalize every customer interaction with Emarsys' predictive and generative AI.
Use real-time customer data to drive better insight & on-point personalization
Personalise the ecommerce experience. Use real-time data and AI to connect every customer with what they want to see
Attentive is a customer engagement platform that helps you build and grow your email list.
Sync verified community data to Braze for personalized messaging across email and SMS.
# CSV Export
Source: https://docs.gocertify.me/section/captureData/csvExport
Start building loyal communities with targeted, gated offers.
Once the user submits their email and/or mobile number, Gocertify saves the data within a secure and encrypted database. You can access these contacts [within your dashboard](https://secure.gocertify.me/dashboard) and export contacts to a CSV.
This is a manual process, you won't receive shopper data instantly, unlike with the [CDP integrations](/section/captureData/CDPintegrationOverview). This means you can't do automated sequences/actions each time a shopper is verified or claims and offer.
When you export this data you can process it accordingly (ie: creating a profile in your CRM). We will send you a weekly notification email letting you know how many new contacts have been added.
# Collect Custom Fields
Source: https://docs.gocertify.me/section/captureData/customFields
Start building loyal communities with targeted, gated offers.
## Overview
By default, enabling DataCapture will collect shopper emails, enabling you to run newsletter campaigns. However, with custom fields you can collect
any additional data you require to personalise the shopping experience and retarget shoppers.
## Custom Field Types
To ensure your data is standardised and easy to use, Gocertify supports a range of custom field types. These can be mapped to your own data fields in your CRM.
### Text
Let users input free text; useful for collecting names, postcodes or other unstructured information.
### Dropdown
Dropdowns work best when you have a long list of potential options, such as product categories, and want the user to select one.
### Radio Button
Radio buttons are best used when you have a short list of potential options, such as product size, and want the user to select one.
### Multi Select
Multi-select allows users to select multiple options from a list, useful for collecting information such as hobbies or interests.
### Date Picker
Date pickers make it easy to collect dates, such as dates of birth or other significant events.
## Sync to your CDP
At the moment, we only support syncing to Bloomreach. If you want to sync to another CDP, please let us know and we will add support for it.
# Overview
Source: https://docs.gocertify.me/section/captureData/overview
Start building loyal communities with targeted, gated offers.
DataCapture is a core feature of Gocertify that allows you to collect valuable data from shoppers in exchange for rewards. With over 80% of shoppers willing to exchange data in return for promotions and
this data is a powerful asset for your brand - enabling you to:
* **Retarget** shoppers who have already visited your site
* **Personalise** the shopping experience for your shoppers
* **Optimise** your marketing spend
DataCapture is enabled at the brand level with the ability to apply DataCapture to all campaigns or just closed group/open campaigns. To go live we will need your Privacy Policy and Terms and Conditions links which should outline how shopper data is used within marketing.
Once switched on shoppers will experience an additional step in the reward flow where they can opt-in to share their data in return for rewards. This screen will
appear after login but before verification.
To learn more about how Gocertify keeps your sensitve data safe please review our [GDPR documentation](https://gocertify.notion.site/GDPR-at-gocertify-700bbc00a8174bfcbaa6ad9ecb0eb4a7), [privacy policy](https://www.gocertify.me/privacy-notice) and [T\&Cs](https://www.gocertify.me/terms).
# Webhooks & Zapier
Source: https://docs.gocertify.me/section/captureData/webhooksZapier
Start building loyal communities with targeted, gated offers.
Gocertify offers a webhook integration that allows you to connect with other services, including automations tools like [Zapier](https://zapier.com/), [Make](https://www.make.com/) and [Tray](https://tray.io/).
This can be used to trigger automated actions each time a shopper is verified or claims an offer.
To go live simply provide the endpoint to the [partners@gocertify.me](mailto:partners@gocertify.me) - this endpoint will usually [be generated](https://help.zapier.com/hc/en-us/articles/8496083355661-How-to-get-started-with-Webhooks-by-Zapier) by your iPaaS (Make.com, Zapier, Tray, etc) or by your IT team.
## Authentication
If your webhook endpoint requires authentication, Gocertify can include a Bearer token with each request. This allows you to secure your endpoint and verify that incoming requests are from Gocertify.
When configured, all webhook requests will include an `Authorization` header:
```http theme={null}
Authorization: Bearer your-api-token
```
To set up authentication, provide your API token to your Gocertify account manager along with your webhook endpoint URL. The token will be securely stored and included in all webhook requests to your endpoint.
Authentication is optional. If your endpoint doesn't require authentication, no changes are needed to your existing integration.
## Webhook Events
We will send you two events. The first event happens at Step 1 of the flow below (`Data sent to your CRM`), and the second event happens at Step 3 (`Verification status sent to CRM`).
```json First Event theme={null}
{
"state": "consent-intent", // ← this means it's a "First request"
"email": "sarah@example.com",
"share_email": true, // ← "true" if they want to share it
"phone_number": "+447881096570",
"share_phone_number": true,
"type": "Code", // ← it could be "Code" or "Deal"
"pending_group_type": "Occupation", // ← or "Open", for non-verification campaigns
"pending_group_parent": "Key Worker", // ← or "Open", for non-verification campaigns
"pending_group_child": "NHS Worker", // ← or "Open", for non-verification campaigns
"coupon_code": "", // ← will be empty as the user hasn't get the coupon yet.
"token": "ABCD1234" // ← our internal randomly generated identifier
"brand_slug": "amazon", // ← the identifier of the customer
"campaign_id": 1234, // ← the gocertify's campaign's identifier
"campaign_title": "20% OFF for Key Workers", // ← the title of the campaign
"campaign_url": "https://secure.gocertify.me/at/amazon", // ← the url of our campaign
"iframe_parent_url": "https://www.customer-website/keyworkers", // ← might not be present
"date": Time.now.iso8601 // ← the current date, in iso8601 format.
"message": "Join the NHS newsletter...", // ← The complete text in the consent page
}
```
```json Second Event theme={null}
{
"state": "offer-claimed", // ← this means it's a "Second request"
"email": "sarah@example.com",
"share_email": true, // ← will be the same value as the first request
"phone_number": "+447881096570",
"share_phone_number": true, // ← will be the same value as the first request
"type": "Code", // ← it could be "Code" or "Deal"
"group_type": "Occupation", // ← or "Open", for non-verification campaigns
"group_parent": "Key Worker", // ← or "Open", for non-verification campaigns
"group_child": "NHS Worker", // ← or "Open", for non-verification campaigns
"coupon_code": "EXAMPLECODE", // ← might not be present if it's a "Deal" type.
"token": "ABCD1234" // ← will be the same value as the first request
"brand_slug": "amazon", // ← will be the same value as the first request
"campaign_id": 1234, // ← will be the same value as the first request
"campaign_title": "20% OFF for Key Workers", // ← will be the same value as the first request
"campaign_url": "https://secure.gocertify.me/at/amazon", // ← will be the same value as the first request
"iframe_parent_url": "https://www.customer-website/keyworkers", // ← will be the same value as the first request
"date": Time.now.iso8601 // ← the current date, in iso8601 format.
}
```
# Ask These Docs from Your AI Assistant
Source: https://docs.gocertify.me/section/gettingStarted/askWithAI
Connect Claude, ChatGPT, or any MCP-compatible AI assistant to the Gocertify docs and get instant, sourced answers while you build
These docs are available as an [MCP server](https://modelcontextprotocol.io) — an open standard that lets AI assistants search and read documentation directly. Connect it once, and your assistant answers integration questions from the live docs, with links to the exact pages it used.
No API key, no sign-in — the endpoint is free and public:
```
https://docs.gocertify.me/mcp
```
## What you can ask
* "How do I add Gocertify to my site?"
* "What's the difference between the on-site and in-app integrations?"
* "Show me how to track conversions from a Shopify store"
* "Which CDP integrations are available?"
Answers come from the same pages you're reading now — your assistant searches the docs, reads the relevant pages, and cites them so your team can go deeper.
## Connect from Claude
In [claude.ai](https://claude.ai), go to **Settings → Connectors → Add custom connector**.
Name it `Gocertify Docs` and set the URL to `https://docs.gocertify.me/mcp`.
Start a chat and ask an integration question — Claude searches the docs and answers with sources.
Using Claude Code? Add it from the terminal instead:
```bash theme={null}
claude mcp add --transport http gocertify-docs https://docs.gocertify.me/mcp
```
## Connect from ChatGPT
Custom connectors require a paid ChatGPT plan with developer mode enabled.
In ChatGPT, go to **Settings → Connectors → Advanced settings** and enable **Developer mode**.
Create a new connector with the URL `https://docs.gocertify.me/mcp` — no authentication needed.
Enable the connector in your conversation and ask your integration questions there.
## Other MCP clients
Any MCP-compatible tool works — Cursor, VS Code, and most agent frameworks accept a remote MCP server URL. Point them at `https://docs.gocertify.me/mcp` with no authentication.
Building your integration with an AI coding assistant? Connect the docs MCP in the same workspace — your assistant can then check the API reference and integration guides as it writes, instead of guessing.
# Customise Branding
Source: https://docs.gocertify.me/section/gettingStarted/customiseBranding
Convert shoppers with targeted, gated offers.
A crucial part of your reward flow is its branding. This is the first thing your users will see,
and it's important to make sure that the shopper experience closely aligns with your brand guidelines.
In this section we will explore how how you can customise the visuals, copy and styling of your reward flow to make sure it's a perfect fit for your brand. The branding you
create will be applied to all of your reward flows, so it's a great way to build consistency across your campaigns.
## Customise your visuals
#### Favicon, Logo and Banner Image
The brand logo and banner image is shown on the key screens throughout the reward flow and the favicon is shown on any
[Gocertify hosted](https://secure.gocertify.me/at/gosnow) landing pages that you may link to.
Provide your Gocertify account manager with the image files of the correct dimensions (listed below), and we will handle the rest.
#### Fonts
You can provide up to 4 font files to customise the heading, normal, tagline and fineprint text. These fonts will be applied throughout the reward flow as detailed below:
#### Custom Styling
The Advanced CSS option let's you can go even further with your customisation. Your customer success manager will be able to help you build and apply any customisations you need, but for inspiration the most popular customisations are captured below. The [Advanced CSS](/section/gettingStarted/advancedCss) section has even more examples.
```css theme={null}
.in-iframe .logo-block-pushed-up {
display: none;
}
```
```css theme={null}
.in-iframe .banner-section a {
display: none;
}
```
```css headings theme={null}
/* Applies styles to the heading text. */
.heading {
text-transform: uppercase;
font-weight: 700;
font-style: normal;
font-size: 28px;
color: rgb(0, 0, 0);
}
```
```css paragraph theme={null}
/* Applies styles to the subtitle text. */
.paragraph {
font-family: "Roboto Condensed", sans-serif !important;
font-weight: 400;
font-style: normal;
font-size: 16px;
color: rgb(0, 0, 0);
}
```
# Platform Overview
Source: https://docs.gocertify.me/section/gettingStarted/dashboardAccess
Your central hub for managing rewards, viewing analytics, and configuring promotions
## Your Reward Management Platform.
The [Gocertify dashboard](https://secure.gocertify.me/dashboard) is your central hub for managing reward campaigns, viewing shopper analytics, and configuring your promotions. Access is secured through password-based authentication with enforced two-factor authentication (2FA) to protect your campaigns and data.
**What you can do in the dashboard:**
* View real-time shopper engagement reports and analytics
* Download CSV exports of verification data
* Configure on-site messages
* Manage team access and permissions
## Authentication Methods
Access to the Gocertify platform is secured with:
* **Password-Based Login:** Users create and manage their own passwords, reducing the risk of magic-link–related issues (such as intercepted or expired links).
* **Single Sign-On (SSO):** Login via Microsoft 365 or Google for seamless access.
* **Enforced Two-Factor Authentication (2FA):** All logins require a one-time code sent to your registered email address.
* **Secure Session Management:** Each login requires both a valid password and a fresh 2FA code.
## Personal Account Management
Navigate to the [login screen](https://secure.gocertify.me/dashboard/login) to access your dashboard. Gocertify supports:
* Email/Password login
* SSO login Microsoft 365 or Google
Select your SSO provider from the list of available providers. The email you've been invited with must be managed by that SSO provider.
Select the account you want to login with from the list of available accounts. This must be the same email you've been invited with.
Input the email that you've been invited with and your password.
You will receive an email with a 2FA code. If you don't see it, check your spam folder or resend the code.
Navigate back to the login screen and enter the 2FA code.
When you log in to the Gocertify dashboard for the first time, you'll be guided through a four-step onboarding process. This helps ensure you have everything configured properly from the start.
Enter your first and last name, and optionally upload a profile picture. You can also choose whether to allow Gocertify to collect usage data to improve your experience.
Tell us what kind of work you do. This helps us tailor the dashboard experience to your role, whether you're in marketing, e-commerce, affiliates, or another area.
Select the metrics that matter most to you in your day-to-day work, such as conversion rate, average order value, or customer acquisition cost. This will tailor your dashboard experience and help surface the most relevant data.
Choose whether you'd like to receive updates about key marketing events and opportunities. You can opt in to stay informed about relevant dates and campaigns, or opt out if you prefer.
Once you complete these steps, you'll have full access to your dashboard with your preferences already configured.
To reset your password, or for users who joined Gocertify before we migrated from magic link to password login, you can reset your password via the [login screen](https://secure.gocertify.me/dashboard/login) or directly from the [forgotten password](https://secure.gocertify.me/dashboard/password_reset/new) screen.
In the login screen select "Don't have your password?"
Enter your email address and select "Request a new password"
You will receive confirmation that the email has been sent. If you don't receive it, check your spam or select "Haven't received an email?"
In the email you received, click "Reset my Password" to open the password reset page.
A new tab will open and you can enter your new password. It must meet the validation requirements. Each requirement will turn into a green checkmark when met.
The page will update to confirm that your password has been changed and after 5 seconds you will be redirected to the login screen.
You can now login with your new password.
Your account may be temporarily blocked after multiple failed login attempts. This is a security measure to protect your account. You can unblock your account by resetting your password—no need to contact support.
If your account is blocked, you'll also receive an email with a "Reset Your Password" button.
Click the reset password link in the login error message or the "Reset Your Password" button in the email you received.
Follow the standard password reset steps: enter your email, check for the reset email, and set a new password.
Once you successfully set a new password, your account is automatically unblocked and you can log in immediately.
If you don't recognise the login attempts or continue to have issues after resetting your password, please contact [partners@gocertify.me](mailto:partners@gocertify.me).
If you have previously logged in with email/password, but now want to login with SSO, you can link your accounts by simply using SSO to login with the same email.
There is also a path for doing this via profile settings:
Click on your profile card and select "View Profile".
Select "Security" from the sidebar menu.
Under the "Connected accounts" section it will say "No connected account" and prompt you to logout and then login with SSO.
Once this has been done successfully, it will say "Google/Microsoft account connected" and you can now login with SSO. If you want to disconnect the account, you can do so by clicking the "Disconnect" button.
To logout, click your profile card and select "Logout".
You can update your profile and preferences at any time by clicking your profile card and selecting "View Profile". From there you can access several settings pages:
**Account** — Update your name, profile picture, and department. You can also control whether Gocertify collects usage data to improve your experience.
**Security** — Change your password and link your Google or Microsoft account for SSO sign-in.
**Notifications** — Choose whether to receive product updates, marketing insights, and reminders for major retail events. Essential account and security messages will always be sent.
**Success Plan** — Select the 3 metrics that matter most to you in your day-to-day role. We use these to tailor your dashboard experience and personalise reward strategies.
## Brand Groups and Brand Regions
If your brand operates in multiple countries or markets, you can view and manage data across all your regions from a single dashboard. The region selector appears in the sidebar when you have access to multiple regions.
Click the region selector in the sidebar to switch between regions. The selected region's flag appears next to your brand logo.
When viewing Reports or Shoppers, you'll see an "All regions" toggle if you have access to multiple regions. Enable this to view aggregated data and export CSV files that span all your regions.
## Team Management
You can invite team members to your account by navigating to the "Members" section in the sidebar menu. Select "Invite Member" and enter the email address of the team member you want to invite. They will receive an email with a link to join your account.
When you invite a team member to your account, you can select their role from the following options:
| Role | Permissions |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| **Brand Admin** | Everything in Region Admin, plus: manage settings across all available regions. Brand admins always have access to all regions. |
| **Region Admin** | Everything in Creator, plus: manage settings in assigned regions, manage team members, manage alerts. |
| **Creator** | Everything in Viewer, plus: view shoppers & export contacts, view and manage placements (OSM), view and manage targets. |
| **Viewer** | View reporting. |
## Allowed Emails for Testing
Need to test the verification flow with your team? You can request specific email addresses to be pre-approved for your brand. When someone verifies using an allowed email address, they'll bypass the standard verification process and be automatically verified.
This is useful for:
* Team members testing the shopper verification experience
* Partners who need to demo the verification flow
* QA testing before campaign launches
To add or remove allowed emails for your brand, contact your account manager or reach out to [partners@gocertify.me](mailto:partners@gocertify.me).
## Need Help?
If you're having trouble accessing your dashboard, please reach out to [partners@gocertify.me](mailto:partners@gocertify.me) for assistance.
# Integrate in-app
Source: https://docs.gocertify.me/section/gettingStarted/integrateInApp
Convert shoppers with targeted, gated rewards.
To integrate Gocertify in-app, you will need to create a WebView in your mobile app and link it to our hosted frame. This will open the verification flow within your app.
1. **Create a WebView in your mobile app**\
Add a WebView component that links to the hosted iFrame (e.g., `https://secure.gocertify.me/at/your-brand/student-in-app`). This will open the verification flow within your app.
2. **Coordinate redirect URLs**\
Work with your Gocertify account manager to establish the specific redirect URL that will be used after verification is complete. We can pass parameters in this URL that you can catch and use later in your app.
3. **Handle verification completion**\
When the user completes verification, we'll redirect them to the agreed URL with any necessary parameters. Your app should detect this redirect, close the WebView, and proceed with the appropriate actions.
```javascript theme={null}
// Example code for monitoring WebView URLs (Android)
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.contains("your-agreed-callback-url")) {
// Extract parameters if needed
// Close the WebView
// Continue with your app flow
return true;
}
return false;
}
});
```
# Integrate In Store
Source: https://docs.gocertify.me/section/gettingStarted/integrateInStore
Verify shoppers in store with the Gocertify Launcher and in-store reward claiming.
Gocertify unlocks true omni-channel customer engagement with in-store rewards.
## In-store claiming
In-store claiming can be done by:
* Coupon code entered at till manually
* Flashing coupon to show to till person
* QR code scanned at till
To enable in-store claiming talk to your Gocertify account manager.
## Gocertify Launcher
The Gocertify Launcher is an in-store tool that enables shop assistants to verify shoppers directly on sales devices. Rather than requiring shoppers to use their own phone to find and complete a verification flow, the assistant initiates the process on a store device and hands off to the shopper for the verification step.
### How it works
The Launcher walks through a three-step wizard:
The sales agent presents a QR code on the store tablet. The shopper scans it with their personal mobile device, which initiates the verification journey on their phone.
The shopper completes the verification on their own device. On success, a configurable reward screen is shown on their phone — this can display a barcode, a short alphanumeric code, or a discount code.
The sales agent takes the code from the shopper's phone, inputs it into the tablet, and gains access to the gated storefront to complete the sale.
### Store IDs
Each store location is assigned a unique Store ID. This allows you to track which store locations are driving verifications and measure in-store reward performance by location.
### Reward display formats
The success screen shown on the shopper's phone after verification can be configured to display:
* **Barcodes** — for the sales agent to scan from the shopper's phone
* **Short alphanumeric codes** — for the sales agent to type into the tablet
* **Discount codes** — a standard coupon code to apply at checkout
To set up the Gocertify Launcher for your stores, contact your Gocertify account manager.
# Integrate on-site
Source: https://docs.gocertify.me/section/gettingStarted/integrateOnSite
Convert shoppers with targeted, gated rewards.
## Integrate on-site
Make sure the script is implemented site-wide to access all our features.
Integrate Gocertify by adding the Gocertify script to your site's `
` using either a tag manager (no developer needed) or manually pasting it in (basic HTML knowledge recommended). The setup takes less than 2 minutes!
## Get your script from the dashboard
Need a developer to handle the integration? Use the **Need a developer?** section on the settings page to quickly invite them to your team.
The easiest way to get your Gocertify script is from the **Integrate on-site** settings page in your dashboard. The script snippet is pre-configured with your brand identifier - just copy and paste it directly into your site.
In your dashboard, go to **Settings** → **Integrate on-site**.
Click the copy icon next to the script snippet. Your brand identifier is already included, so no manual editing is required.
**Installing in multiple regions?** If you have access to multiple regions, you'll see a hint card with a **"Show me"** button. Click it to open the region selector and switch to the correct region before copying the script—each region has a unique brand identifier.
Paste the script into your site using one of the installation methods listed in the [installation methods](#installation-methods) section below.
## Installation methods
You can use any **one** of the following methods to add the Gocertify script to your site. You only need to add the script **once** to your site. Pick your preferred method below and follow the steps.
**Pro tip**: Get your script with your brand identifier pre-configured from the [Integrate on-site settings page](#get-your-script-from-the-dashboard) to avoid manual configuration errors.
Copy and paste the Gocertify script into the `` of your site. Remember to replace `example-company` with your actual company name.
```javascript gocertify-script theme={null}
```
**Note**: If you cannot add the script to the `` of your site you can place it in the `` .
Navigate to our [Shopify app](https://apps.shopify.com/gocertify).
Install the app by clicking `Install`.
Once installed, you will see the app appear in your left side menu. Click on the app and you will be asked to connect to your Gocertify brand by clicking `Connect`.
You will be presented with a list of brands you have access to. Select the brand you want to connect the app to. If you cannot see your brand, please contact your Gocertify account manager.
Once successfully connected you will see a success message and a button asking you to `Enable the script`. Click this button to navigate to the embed page.
Click the toggle to enable the embed script. The Gocertify head script is now enabled and added to your site.
Once you have enabled the embed script, you can use Shopify Blocks to add on-site messaging to your site.
Watch our [tutorial video](https://www.loom.com/share/c71c832b378e4e17b6aa80a6bcc284a7?sid=9604726f-f6e8-4997-bf66-9a11773773d2) or follow these steps.
Navigate to your [Google Tag Manager](https://tagmanager.google.com/#/home) (GTM) account and select `Add new Tag`
Within the tag configuration, select the `Custom HTML` option.
Copy and paste the following script into the HTML tag. Remember to replace `example-company` with your actual company name.
```javascript gocertify-script theme={null}
```
Within the `Triggers` options configure the tag to fire on all pages.
**Note**: The script is just 12kb and well optimised so it won't slow down your site.
Save your tag as `gocertify` and publish your container.
**Prerequisite**: The Bloomreach [JS SDK](https://documentation.bloomreach.com/engagement/docs/js-sdk) must be integrated into your website. The SDK retrieves active tags and executes them after the page loads.
In your Bloomreach Engagement project, go to **Data & Assets** → **Tag Manager**.
Click **+ Create new**. Skip the preset selection to create a custom tag.
In the **Definition** section, paste your script into the code editor. Remember to replace `example-company` with your actual company name.
```javascript gocertify-script theme={null}
```
In the **Settings** section, set **Fire on** to fire on all pages so the script loads site-wide.
**Note**: The script is just 12kb and well optimised so it won't slow down your site.
Save your tag as `gocertify` and activate it.
Watch our [tutorial video](https://www.loom.com/share/e13b1bc79c2545078fb46d4b78c8bb50?sid=46361597-a98e-4871-8f2d-7a24166e9c00) to see how it's done.
Select `Toolbox` from your main menu and then under `Links and Tools` select `Plugin Store`.
Within the store search for the Gocertify plugin and click `Activate now` and confirm your choice.
Once activated the final modal will give you the option to `View My Plugins`. Select this and you will see that the plugin is activated and the script has been deployed.
If you encounter the error `Refused to load the script 'https://assets.gocertify.me/assets/gocertify.js'` due to Content Security Policy violations, add this domain to your CSP whitelist to resolve the issue.
### Validate your installation
Once you've added the script to your site, use the built-in validation tool (found in the [Integrate on-site settings page](#get-your-script-from-the-dashboard)) to confirm it's working:
In the validation section, enter the URL of a page where you've installed the script.
Click validate. The tool will check that the Gocertify script is present and correctly configured.
A success message confirms everything is working. If validation fails, check that the script was added to the `` and that the page has been published.
# Add Landing Pages
Source: https://docs.gocertify.me/section/gettingStarted/landingPages
Convert shoppers with targeted, gated rewards.
Landing pages are a powerful tool for converting key communities and boosting your SEO. To get the most out of the Gocertify experience we recommend you:
* **Create a landing page** for each of your high value campaigns (i.e. 20% off for Students)
* **Create multi-offers page** to showcase all your discounts in one place.
## Create Campaign landing pages
While your brand is in draft mode, you will see all available verification groups with a preview banner in the top right. Once live only your selected groups will be visible.
Best practice is to create dedicated landing pages for your high-priority communities, like Key Workers and Students.
To increase SEO traffic ensure that the group name and “discount” is mentioned.
* **Clear Page Slug:** i.e `student`, `key-worker`, `senior`, `youth`, `disability`
* **Meta title and H1:** *company* student discount
* **Meta description:** We know that a little help goes a long way when you're a student. Verify your student status and you can get 10% off.
* **Relevant Copy:** \~300 words talking about the campaign and why it's important to your audience.
Adding a campaign specific landing page is simple, we recommend getting started with the following steps:
Create a new page on your site for each campaign type you want to promote.
Most brands reference the campaign type within the page url (i.e `company.com/student-discounts`) and add a simple title/description highlighting their offers.
Your Gocertify account manager can provide you with the relevant iFrame code for each campaign.
Once you have your basic page setup you can paste in the following iFrame within the `` tag. This determines where Gocertify reward flow will appear.
```html iFrame theme={null}
```
Remember to replace `example-campaign` with your actual campaign name (e.g. "students") or leave out the attribute `source="example-campaign"` to display all campaigns.
## Create multi-offers page
OfferHub is a centralised location for all your discounts and offers. It's a great way to showcase all your promotions in one place and drive traffic to your site.
Best practice is to create a dedicated multi-offers page to showcase all your discounts in one place. To increase SEO traffic ensure the terms “discount codes”, “offers” and “coupon” (if wanting to rank in the the USA) are mentioned:
* **Clear Page Slug:** i.e `discounts`
* **Meta title and H1:** Official *Brand* Discount Codes and Offers
* **Meta description:** Did you just search for a *brand* discount code? That's an intelligent move - you're obviously a savvy shopper. This is the official discount code page for *brand* and you won't find a better discount elsewhere.
* **Relevant Copy:** \~300 words talking about the rewards you offer and why they're important to your audience.
* **FAQs:** Answer common questions about your rewards.
To add OfferHub to your site, follow these steps:
Create a new page on your site to host your OfferHub, most brands use `company.com/offers` or `company.com/discounts`.
Your Gocertify account manager can provide you with the relevant iFrame code for each campaign.
Once you have your basic page setup you can paste in the following iFrame within the `` tag. This determines where Gocertify OfferHub will appear.
```html iFrame theme={null}
```
# Overview
Source: https://docs.gocertify.me/section/gettingStarted/overview
Convert shoppers with targeted, gated rewards.
## Why use Gocertify?
Every year brands spend \$1 trn attracting shoppers on-site - but 97% of shoppers leave without making a purchase and less than 4% share the data needed for retargeting.
Today over 450 brands, from Puma to Samsung, use Gocertify to convert these shoppers using targeted, gated rewards. By deploying
these rewards at scale you can boost conversion and retention while giving back to key communities.
## Introducing Reward Flows
Think of a Gocertify reward flow as the journey that your shoppers go on, from the moment they first learn about a reward on-site to the moment they redeem it.
With Gocertify you can create as many of these custom reward flows as you want and tailor them to your brand and your audience. For example, creating a campaign around [unique rewards](/section/buildRewardFlows/chooseReward) (e.g. discounts or gift cards), gating offers to specific [target
audiences](/section/buildRewardFlows/closedUserGroups) (e.g. key workers or students), and leveraging our [DataCapture](/section/captureData/overview) features to collect valuable first party data (i.e. Email or D.O.B).
## How to use this guide
This guide is designed to help you get started with Gocertify. We'll walk you through the process of creating a reward flow, from start to finish. Each key step in the process is laid out as a section within the left hand sidebar, if you're on mobile click the menu icon in the top left to view.
Remember, if you get stuck at any point please reach out to your helpful customer success manager! They are always happy to help and a wealth of knowledge on how to get the most out of Gocertify.
# Quickstart
Source: https://docs.gocertify.me/section/gettingStarted/quickStart
Convert shoppers with targeted, gated rewards.
## Integration steps
Integrate Gocertify by adding our lightweight [script](integrateOnSite) to the `` of your site ([no developer needed](https://www.loom.com/share/c71c832b378e4e17b6aa80a6bcc284a7?sid=9604726f-f6e8-4997-bf66-9a11773773d2)). This enables you to launch your offers within minutes and have full control over the shopper experience through our self-serve platform (supported by your helpful Gocertify account manager).
In addition to adding the head script, we recommend also building dedicated [landing pages](landingPages) for your highest value campaigns to maximise performance.
Implement the Gocertify experience on-site without a developer (\~2 mins).
Add additional landing pages to convert key communities (\~5 mins).
# Upgrade Guide
Source: https://docs.gocertify.me/section/gettingStarted/upgradeGuide
Upgrade from the old embed.js script to the new gocertify.js script.
If you integrated Gocertify on your site before December 2024, you will need to upgrade to the new gocertify.js script.
We transitioned from the legacy `embed.js` script to the new `gocertify.js` script in December 2024. This change was necessary to improve performance and ensure compatibility with new features, like On Site Messaging.
We highly recommend upgrading to the new script as soon as possible, even though the old script is still supported.
## How to upgrade
The upgrade should be very straightforward, and it will depend on what features you are using.
Delete the old `embed.js` script and replace it with the new `gocertify.js` script.
Follow the instructions in the [integrate on-site](/section/gettingStarted/integrateOnSite) page to add the new script to your site.
Note that the new script requires a unique parameter called `data-brand`.
If you previously used `data-location="/at/your-brand/some-campaign"`, you now need to use `brand="your-brand"` instead.
If you are using the iframe feature, you will need to update the iframe code to the new `` tag.
Follow the instructions in the [landing Pages](/section/gettingStarted/landingPages) page to add the new iframe to your site.
Note that the new iframe tag requires a unique parameter called `source`.
If you previously used `data-location="/at/your-brand/student"`, you now need to use `` instead.
If you are using the Offer Hub feature, you will need to update the Offer Hub code to the new `` tag.
Follow the instructions in the [Offer Hub](/section/promoteOffers/offerHub) page to add the new Offer Hub to your site.
Note that the new tag doesn't require any extra parameters.
If you previously used `data-location="/at/your-brand/hub"`, you now need to use simply `` instead.
## Deprecated attributes
The legacy `embed.js` script used the following optional attributes that are no longer supported:
* `data-location`
* `data-autoload`
* `data-placement-lookup`
# Integrations
Source: https://docs.gocertify.me/section/integrations/overview
Connect Gocertify with your favorite tools and platforms
Grow faster and more efficiently with email, sms, reviews and more. Powered by your customer data.
Dotdigital's all-in-one platform unifies customer data to power your campaigns
Personalize every customer interaction with Emarsys' predictive and generative AI.
Use real-time customer data to drive better insight & on-point personalization
Personalise the ecommerce experience. Use real-time data and AI to connect every customer with what they want to see
Attentive is a customer engagement platform that helps you build and grow your email list.
Create powerfully personalised experiences.
Reward your most loyal customers.
Integrate with Shopify and other e-commerce platforms
Build custom integrations with webhooks and Zapier
# Advanced targeting
Source: https://docs.gocertify.me/section/promoteOffers/advancedTargeting
Advanced system to set the target pages for your offers.
This feature is an enterprise feature. If you want to enable it, please contact your account manager.
In most cases, the [Visibility toolkit](/section/promoteOffers/osmVisibility) is enough to target the right pages for your offers. However, there are some cases where you need more control over the targeting.
Consider using advanced targeting when:
1. You need to add aditional variables to the placement that are not available in your DataLayer or CMS (e.g. custom promotional phrases for specific products)
2. You want to display offers for particular SKUs or product categories that can't be easily identified through standard DataLayer or CMS parameters.
# Defining a target
Each target is defined by an "identifier". The first step is for you to decide what identifier you want to use. In most cases, this will be a SKU.
Then, you need to create the placement you want to run your offer. Remember that you make your messaging more engaging by adding dynamic text using [variables](/section/promoteOffers/dynamicText#variables).
Finally, add all the targets you want to run your offer on.
Once you select the placement you want to use, all the variables included in its CTA will be displayed in the "Placement variables" section. You will be able to feed all the value for these variables in the "Variable definitions" section.
You can also load multiple targets from a CSV file, by selecting the "Multiple targets" option.
## Importing targets from CSV
When uploading multiple targets via CSV, the form displays the required column format:
Your CSV file should contain the following columns:
* **identifier** (required) - The target identifier (e.g., SKU)
* **placement\_token** (required) - The placement to associate with the target
* **name** (optional) - A human-readable name for the target
* Any additional columns will be added as variable definitions for your placement
You can choose to update existing records or create new ones. The "Update existing records and create new records" option is non-destructive and will preserve any targets not included in your CSV.
# Searching targets
Use the search field to find existing targets by name or identifier. The search uses full-text matching with prefix support, so you can:
* **Search by partial terms**: typing "pro" will match targets containing "professional" or "product"
* **Use multiple search terms**: typing "Plus Silver" will match targets where both terms appear, such as "BAR Plus USB Flash Drive 512 GB Silver"
* **Search across fields**: queries match against both the target identifier and name
Multi-term search is useful when you have many similar targets. For example, searching "Buds graphite" will find "Galaxy Buds FE / graphite / BT" even though those terms aren't adjacent in the target name.
# Triggering the placement
Once targets are configured in the platform, you need to trigger them on your website. There are two methods available:
## Using the web component (Recommended)
The simplest way to display a target is to add the `` web component directly in your HTML where you want the placement to appear:
```html HTML theme={null}
```
The `identifier` attribute should match the identifier you configured for the target (e.g., a SKU). The component automatically fetches the placement content and renders it inline.
The web component approach is recommended because it requires less custom code and handles page readiness automatically for more reliable loading.
## Using JavaScript
If you need more control over when the target loads, you can use the JavaScript function. This is useful when the identifier needs to be dynamically retrieved from the page (e.g., from a hidden HTML element or DataLayer):
```javascript JS theme={null}
gocertify.setTarget(identifier, cssAnchor);
```
The `cssAnchor` parameter is optional. Use it to specify where the placement should appear if it's not already defined in the placement configuration.
# CXP Integrations
Source: https://docs.gocertify.me/section/promoteOffers/cxpIntegrations
Start building loyal communities with targeted, gated offers.
Gocertify let's you integrate with Customer Experience Platforms (CXP) to deliver an even more personalised shopping experience, delivering rewards and offers to shoppers based on their profile and preferences.
Create powerfully personalized experiences.
Build cutting edge digital experiences with ecommerce-first product discovery technology
# Dynamic CTAs
Source: https://docs.gocertify.me/section/promoteOffers/dynamicText
Display personalised savings and custom variables in your on-site messages.
Gocertify makes it easy to display dynamic variables in your on-site messages. This is especially useful for showing the exact savings amount a shopper will receive on a specific product, helping to drive higher conversion rates.
To enable this feature, Gocertify needs to know the price and currency of the product being displayed. You can provide this by adding two data attributes (`data-purchase-amount` and `data-locale`) to the head script. See below for setup instructions based on your integration method.
Make sure that the price is set in cents. For example, if the price is \$10.99, the attribute should be set to **1099**.
If you set the locale to **en-GB** and the purchase-amount to **1099**, the price will be interpreted as £10.99.
If you leave this locale empty, we will use the main locale of your connected brand.
Google Tag Manager supports dynamic variables that integrate with the data layer.
Navigate to the variable tab in [tag manager](https://tagmanager.google.com/#) and identify/create the variable that contains product price and note the name.
To use the variable you'll need to replace the spaces with underscores so `Product Price` would be `product_price`.
Navigate back to the Gocertify head script within the tags section and add a new line using the format `el.setAttribute('data-purchase-amount', '{{variable_name}}');` and the variable name you noted in the previous step.
Remember that the price must be in cents. If your variable is in pounds/dollars, parse it as a float and multiply by 100.
For example: `el.setAttribute('data-purchase-amount', parseFloat({{variable_name}}) * 100);`
Save and publish your changes. You should now see dynamic text in your on-site messages.
If you added the gocertify.js script manually in the `` section of your page, you can set the data attributes like this:
```javascript JS theme={null}
el.setAttributes('data-purchase-amount', '{{variable}}')
```
If you added the Gocertify placement manually in the `` section of your page, you can set the data attributes like this:
```PHP PHP theme={null}
```
```Ruby Ruby theme={null}
```
## Variables
The following variables are available for use in your CTA text:
* `{{purchase-amount}}`: The product price in cents (e.g. 1000 for £10).
* `{{locale}}`: The page locale in ISO 639-1 format (e.g. `en-GB`).
* `{{currency}}`: The page currency in ISO 4217 format (e.g. `GBP`). Optional. If not set, the currency associated with the locale will be used.
* `{{savings-amount}}`: The savings amount, calculated automatically based on the product price and the campaign discount.
### Custom variables
You can also define custom variables by adding data attributes to the placement. For example, to include a product category in your CTA:
`==Save {{savings-amount}}== on this {{category}}`
Then set the value for that variable as a data attribute when rendering the placement:
```html theme={null}
id="p-123456"
data-locale="en-GB"
data-purchase-amount="9800"
data-category="item">
```
If the maximum discount available on campaigns for this placement is 20%, the savings amount will be calculated as £19.60 (£98.00 × 20%), and the resulting text will be:
> **Save £19.60** on this item
In practice, you'll want to replace these hardcoded values with variables from your data layer (e.g. Google Tag Manager) or CMS.
## Markdown
CTA text supports basic formatting. To highlight text (typically displayed in bold), wrap it in double equals signs:
| Syntax | Result |
| ----------------------------- | ------------------------ |
| `==Save {{savings-amount}}==` | **Save £19.60** |
| `==20% off== for students` | **20% off** for students |
This highlighting draws attention to the key benefit in your message and is recommended for savings amounts or discount percentages.
# Landing Pages
Source: https://docs.gocertify.me/section/promoteOffers/landingPages
Start building loyal communities with targeted, gated offers.
Landing pages are a powerful tool for converting key communities and boosting your SEO.
## Create Campaign landing pages
Best practice is to create dedicated landing pages for your high-priority communities, like Key Workers and Students.
To increase SEO traffic ensure that the group name and “discount” is mentioned.
* **Clear Page Slug:** i.e `student`, `key-worker`, `senior`, `youth`, `disability`
* **Meta title and H1:** *company* student discount
* **Meta description:** We know that a little help goes a long way when you're a student. Verify your student status and you can get 10% off.
* **Relevant Copy:** \~300 words talking about the campaign and why it's important to your audience.
Adding a campaign specific landing page is simple, we recommend getting started with the following steps:
Create a new page on your site for each campaign type you want to promote.
Most brands reference the campaign type within the page url (i.e `company.com/student-discounts`) and add a simple title/description highlighting their offers.
Your Gocertify account manager can provide you with the relevant iFrame code for each campaign.
Once you have your basic page setup you can paste in the following iFrame within the `` tag. This determines where Gocertify reward flow will appear.
```html iFrame theme={null}
```
Remember to replace `example-campaign` with your actual campaign name (e.g. "students") or leave out the attribute `source="example-campaign"` to display all campaigns.
# Link to offers
Source: https://docs.gocertify.me/section/promoteOffers/linking-to-offers
Start building loyal communities with targeted, gated offers.
While you can always link to your [landing pages](/section/promoteOffers/landingPages) or [OfferHub](/section/promoteOffers/offerHub) from high traffic areas of your site
Gocertify offers an even quicker solution for brands looking launch right away. For every campaign you create you can generate a link that will redirect to the campaign page hosted on the Gocertify platform.
If you'd rather not redirect shoppers off-site, consider using a [popup](/section/promoteOffers/popups) instead.
```html Link to parent campaign theme={null}
Key Worker Discounts
```
```html Link to child campaign theme={null}
Key Worker Discounts
```
```html Link to Brand page theme={null}
Key Worker Discounts
```
```html Link to OfferHub theme={null}
Key Worker Discounts
```
Deploy highly visible promotional/hero sections that drive conversion
Link to hosted rewards pages from high traffic areas of your site, i.e. the footer.
Link to hosted rewards pages from high traffic areas of your site, i.e. the menu items.
# Loyalty Integrations
Source: https://docs.gocertify.me/section/promoteOffers/loyaltyIntegrations
Start building loyal communities with targeted, gated offers.
Gocertify integrates with Loyalty Platforms to deliver an even more personalised shopping experience, delivering rewards and offers to shoppers based on their profile.
Create powerfully personalized experiences.
# OfferHub
Source: https://docs.gocertify.me/section/promoteOffers/offerHub
Start building loyal communities with targeted, gated offers.
OfferHub is a centralised location for all your discounts and offers. It's a great way to showcase all your discounts in one place and drive traffic to your site.
Best practice is to create a dedicated multi-offers page to showcase all your discounts in one place. To increase SEO traffic ensure the terms “discount codes”, “offers” and “coupon” (if wanting to rank in the the USA) are mentioned:
* **Clear Page Slug:** i.e `discounts`
* **Meta title and H1:** Official *Brand* Discount Codes and Offers
* **Meta description:** Did you just search for a *brand* discount code? That's an intelligent move - you're obviously a savvy shopper. This is the official discount code page for *brand* and you won't find a better discount elsewhere.
* **Relevant Copy:** \~300 words talking about the rewards you offer and why they're important to your audience.
* **FAQs:** Answer common questions about your rewards.
To add OfferHub to your site, follow these steps:
Create a new page on your site to host your OfferHub, most brands use `company.com/offers` or `company.com/discounts`.
Your Gocertify account manager can provide you with the relevant iFrame code for each campaign.
Once you have your basic page setup you can paste in the following iFrame within the `` tag. This determines where Gocertify OfferHub will appear.
```html iFrame theme={null}
```
# On Site Messaging
Source: https://docs.gocertify.me/section/promoteOffers/on-site-placements
Start building loyal communities with targeted, gated offers.
On-site messaging (OSM) is a powerful way to drive conversions by surfacing offers directly on product/checkout pages, maximising conversion of high intent shoppers.
No additional development work is needed to add OSM to your site as long as the [head script](section/gettingStarted/integrateOnSite) has already been installed.
## Types of on-site messaging
Out of the box, Gocertify supports three main types of on-site messages, but with heavy customisation available you can build a tailored placement that meets your needs.
Display rewards directly on product/checkout pages, maximising conversion of high intent shoppers.
Display rewards from a prominent sticky bar at the top or bottom of your site. Highly visible and no-dev installation.
Display a hovering trigger that floats above the page content. Highly visible and no-dev installation.
## Managing on-site messaging
Your on-site messages will only show if there are live offers available for the shopper. While your brand is still in setup you may not see your on-site messages.
You have full control of all your on-site messages via the [Gocertify dashboard](https://secure.gocertify.me/dashboard), including creating new placements, editing content and setting visibility rules.
## Previewing your placement
When editing an on-site message, click **View full page mockup** in the Live preview section to see how your placement will appear on a product page.
# Visibility toolkit
Source: https://docs.gocertify.me/section/promoteOffers/osmVisibility
Start building loyal communities with targeted, gated offers.
The OSM visibility toolkit lets you control exactly when and where your offers are displayed to shoppers. There are six fundamental types of visibility rules.
Input plain text to match the path ([https://secure.gocertify.me/](https://secure.gocertify.me/) `this/is/the/path`) you want to show/hide the OSM. Use regex for more complex rules. If you add multiple paths
within one rule, the offer will be displayed if the shopper navigates to any of the paths (i.e path1 OR path2).
Select a start and end date for when the offer should be displayed.
Select a start and end time for when the offer should be displayed. This will be recurring on every day of the week.
Select a minimum/maximum/exact price for when the offer should be displayed.
Display the offer based on how long the shopper has spent on the page.
Display this placement based on data from your DataLayer or any other source that can be accessed via JavaScript.
## Popular Visibility Rule Use Cases
You can add up to 30 rules to a placement to combine these rules to match your campaign objectives. All rules need to be met for the offer to be displayed.
Set a path rule for `path` `contains` `?my_oms_test=true`. Manually add this query to the end of the URL in staging
Create a path rule for `path` `contains` `category/product`. Placement will only show when for items within that category.
Create a path rule for `path` `does not contain` `sale` or `discount`.
Alternatively leverage the CSS selector to anchor inline placements to an element that only shows on non-sale products.
Reach out to your account manager to enable this feature. Placement will only show when to shoppers with IPs from that country.
# Overview
Source: https://docs.gocertify.me/section/promoteOffers/overview
Start building loyal communities with targeted, gated offers.
Gocertify's promotion engine provides the tools needed to surface the right offer at the right time to the right shopper:
* **[On-site](/section/promoteOffers/on-site-placements) and [In-Store](/section/promoteOffers/inStore):** Deliver omnichannel performance at every shopper touchpoint
* **[High performing Placements](/section/promoteOffers/on-site-placements):** Drive conversions with prominent on-site messaging
* **[Dynamic CTAs](/section/promoteOffers/dynamicText):** Highlight exact savings amounts by passing through product data
* **[Visibility Toolkit](/section/promoteOffers/osmVisibility):** Control exactly when and where offers are surfaced
Display rewards directly on product/checkout pages, maximising conversion of high intent shoppers.
Display rewards from a prominent sticky bar at the top or bottom of your site. Highly visible and no-dev installation.
Display a hovering trigger that floats above the page content. Highly visible and no-dev installation.
Deploy highly visible promotional/hero sections that drive conversion
Link to hosted rewards pages from high traffic areas of your site, i.e. the footer or menu items.
Display all your offers in one central hub.
Deploy a CTA that initiates the verification flow from high traffic areas of your site.
Create custom landing pages to drive conversions.
# Popups
Source: https://docs.gocertify.me/section/promoteOffers/popups
Start building loyal communities with targeted, gated offers.
Popups are a great way to keep shoppers in-flow, letting them verify and collect rewards without leaving the page they're browsing.
To set up a popup ensure you have [installed the head script](/section/gettingStarted/integrateOnSite.mdx) and then simply add an onclick event to your given CTA, button or link and call the gocertify.popup function.
```javascript Campaign Popup theme={null}
gocertify.popup("student-youth")
```
```javascript Campaign Popup with clickref theme={null}
//redirect to a specific page post verification
gocertify.popup("student-youth?clickref=...")
```
```html Link with onclick event theme={null}
click here
```
Deploy a CTA that initiates the verification flow from high traffic areas of your site.
# Refreshing content
Source: https://docs.gocertify.me/section/promoteOffers/refreshingContent
How to refresh dynamically the content of your placements.
Can shoppers choose different variants of your products, changing the price of the product? You will need to use this feature.
If you have a product that can be purchased in different variants, you will need to refresh the content of your placements dynamically each time the shopper changes the variant.
Our placements offer a simple way to refresh the content of your placements: Simply update the relevant data attribute of the placement (`data-purchase-amount`).
You can do it with this little snippet of JavaScript:
```javascript JS theme={null}
document.querySelectorAll('gocertify-placement').forEach(e => {
e.setAttribute("data-purchase-amount", newPurchaseAmount);
});
```
Remember to replace the `newPurchaseAmount` with the actual value you want to set, in the same format as the one you set in the placement.
Our placements will automatically refresh the content of the placement when the `data-purchase-amount` data attribute is updated.
If you are also using custom variables in your placements, you will need to update them and then trigger the refresh manually, using the `refresh` function.
For example, let's say you are using the `category` variable in your placement, and you want to refresh the placement when the shopper changes the category:
```javascript JS theme={null}
document.querySelectorAll('gocertify-placement').forEach(e => {
e.setAttribute("data-category", newCategory);
e.refresh();
});
```
Of course, if you have the `id` of the specific placement you want to refresh, you can do it with a single line of JavaScript:
```javascript JS theme={null}
let placement = document.getElementById('p-123456');
placement.setAttribute("data-category", newCategory);
placement.refresh();
```
# Shopify Integration
Source: https://docs.gocertify.me/section/promoteOffers/shopifyIntegration
Start building loyal communities with targeted, gated offers.
Gocertify has a native integration with Shopify. This allows you to easily promote Gocertify offers across your Shopify site. To install your Shopify app follow the Shopify specific instructions in [Integrate on Site](/section/gettingStarted/integrateOnSite#shopify). We also can connect directly to your [Shopify discounts](/section/buildRewardFlows/discounts#integrating-with-shopify) to create unique codes for each shopper.
## Adding Gocertify Blocks
Once installed you will be able to add Gocertify blocks in your Shopify theme editor. To add a block, switch to the **Apps** tab and select from the available Gocertify blocks.
### On-Site Message
The **On-Site Message** block lets you add targeted promotional messages anywhere on your site. Use this to display exclusive offers to eligible shoppers on product pages, collection pages, or anywhere else in your store.
To link the block to a specific on-site message, enter the **Placement ID** from your Gocertify dashboard (found under the On-Site Messaging tab).
Other types of on-site messages (floating button, sticky bar, etc.) can be enabled directly from the Gocertify dashboard without adding any blocks.
### Checkout On-Site Message
The **Checkout On-Site Message** block displays promotional messages directly on your checkout page, allowing you to promote offers at the point of purchase.
In your Shopify admin, go to **Online Store > Themes**.
Click **Customize**, then use the page selector dropdown and choose **Checkout and customer accounts**.
In the checkout editor, add the **gocertify-checkout-osm-extension** block and configure:
* **Banner heading**: The title shown in the checkout banner (e.g. "Student Discount")
* **Banner description**: The offer description (e.g. "Get 20% off for Students")
* **Link URL**: URL to your hosted Gocertify page for that campaign
### OfferHub
The **OfferHub** block embeds your OfferHub directly into any page. Simply add the block and it will automatically display all your available offers. No additional configuration required.
### iFrame
The **iFrame** block adds a Gocertify landing page to your site. By default, it displays your brand page, but you can specify a **campaign slug** to show a specific campaign's landing page.
This is useful if you want different landing pages for different audiences. For example, you could create separate pages for your `student` discounts and `key-worker` offers.
### Variant Price Updater
The **Variant Price Updater** block keeps on-site messages accurate on product pages with multiple variants. When a shopper selects a different size or colour, the savings amount automatically updates to reflect the new price.
Add this block to your product page template. It's invisible to shoppers and works automatically so the position doesn't matter.
# Via Affiliate Network
Source: https://docs.gocertify.me/section/trackImpact/affiliateTracking
Using an affiliate network to track your conversions.
If you're already using an affiliate network (like Awin or Rakuten), you can use your existing setup to track verified shoppers through their customer journey. This approach requires minimal technical implementation as the affiliate network handles the attribution.
Create a new tracking link in your affiliate network.
Provide the tracking link to your Gocertify account manager so they can add it to your campaigns.
If you would rather track conversions directly, and understand the incremental impact of your campaigns,you can use our [Direct Conversion Tracking](/section/trackImpact/conversionTracking) feature.
# Via Direct Tracking
Source: https://docs.gocertify.me/section/trackImpact/directTracking
Using a custom tracking script to track your conversions.
This feature is undergoing beta testing and will be available soon.
In order to track conversions in your website you will need to add 2 small snippets of code to your website.
Ensure you have the Gocertify.js head script implemented site-wide (see [integration guide](/section/gettingStarted/integrateOnSite)).
To initiate tracking you will need to start a Gocertify session. You can call this function multiple times for a single shopper, so it's often easiest to call this function on `page-view`.
```js session theme={null}
gocertify.startSession();
```
This snippet will generate a random (and anonymous) session id and store it in the browser's session storage.
You might need consent from shoppers before calling this function (i.e. add to your cookie consent banner).
In the post-checkout page (the "thank you" page) track the conversion by calling the `conversion` function:
```js conversion theme={null}
gocertify.conversion({
orderId: orderId,
amount: amount,
currency: currency,
discountCode: discountCode,
productsQuantity: productsQuantity
})
```
Please note that the `orderId`, `amount` and `currency` are required fields. The `discountCode` and `productsQuantity` are optional.
# Overview
Source: https://docs.gocertify.me/section/trackImpact/overview
Monitor the impact of your reward strategy.
Gocertify gives you powerful insights into how your rewards are performing site-wide, helping you
understand campaign effectiveness, shopper behavior, and identify opportunities for optimisation. You can view these insights in your [self-serve reporting dashboard](/section/trackImpact/report).
.
## Dashboard Access
Access to the Gocertify platform is via SSO/password login with enforced two-factor authentication (2FA). Here’s what that means:
* **Password Required:** Users create and manage their own passwords. This reduces the risk of magic-link–related issues (such as intercepted or expired links).
* **Two-Factor Authentication (2FA):** 2FA is enforced by default for all users. A one-time code is sent via email, which must be entered alongside the password to complete login.
* **Email-Based 2FA Delivery:** Codes are delivered directly to the user’s registered email address.
* **Secure Session Management:** Each login requires both a valid password and a fresh 2FA code, ensuring that credentials alone are insufficient to gain access.
* **No Sensitive Personal Data Stored:** The Gocertify platform does not store sensitive personal information. It is only used to:
* View user engagement reports
* Download CSV exports (if applicable)
* Configure on-site messaging and campaign settings
## Implementing Tracking
To gain a full picture of your shoppers you will need to implement tracking at two key stages of the shopper journey:
* [Post-verification](/section/trackImpact/shopperInsights) to understand who's visiting your site
* [Post-conversion](/section/trackImpact/transactionTracking) to understand who's purchasing from you
# Self-serve reporting
Source: https://docs.gocertify.me/section/trackImpact/report
Start building loyal communities with targeted, gated offers.
The [Gocertify platform](https://secure.gocertify.me/dashboard) offers a range of reporting tools to help you track the impact of your campaigns. Some example reports are shown below and your account manager can give you a full tour!
See how many shoppers are completing each step of the verification process.
See how many shoppers are completing the verification process more than once.
See where your shoppers are located.
See how many shoppers are completing the verification process via each device type.
See how many shoppers belong to each closed user group type.
# Shopper Insights
Source: https://docs.gocertify.me/section/trackImpact/shopperInsights
Using Tracking Links to Gather Shopper Insights.
### Post Verification Tracking
Once a shopper has completed a verification flow they will be redirected to a custom link, known as a *tracking link*. Beyond simply redirecting shopper's to a specific page on your website post-verification,
you can customise this tracking link to pass real-time information about the [user group](/section/buildRewardFlows/closedUserGroups) of that shopper. You can set tracking links up at a brand level or make them unique per campaign.
If you are using an affiliate network this is also the link you will use to track conversions (see [Affiliate Tracking](/section/trackImpact/affiliateTracking)).
#### Passing verification type
To gain real-time insights into your shoppers you can use this tracking link to pass a special query parameter with the details of the campaign or group a shopper was verified with.
For example, if you are running campaigns for Students, you can store this information in the URL as a query parameter:
```
https://example.com/your-page?campaign=student
```
You can give this parameter any name you want, including as an UTM parameter (i.e. `utm_campaign`). If you push this data to your datalayer you can then use it in real time to segment your shoppers and unlock further personalisation.
#### Passing Custom Parameters
In addition to receiving information about verifications, you can also pass your own data through the verification process
and receive it back at the end. This bidirectional data flow is particularly useful for referral campaigns or when you need to maintain session continuity.
To do this, we support 2 special parameters, called `subid` and `clickref`. The only difference between the two is
that `subid` is persisted to our verification database, while `clickref` is ephemeral and will only be available in the
current session.
See how to set them in your landing pages [here](/section/gettingStarted/landingPages). To gain insights into which of these shoppers are converting, implement [transaction tracking](/section/trackImpact/transactionTracking)
# Transaction Tracking
Source: https://docs.gocertify.me/section/trackImpact/transactionTracking
Implementing Tracking to Understand Shopper Conversions.
After a shopper completes a purchase, you need a way to connect that transaction back to the campaign and group they were verified with. Gocertify offers two methods to track these conversions:
* [Affiliate Network Integration](/section/trackImpact/affiliateTracking) for brands using an affiliate network, such as Awin or Rakuten.
* [Direct Conversion Tracking](/section/trackImpact/directTracking) for brands that want to track conversions directly.