First steps
User Data
- Email Builder Review
- Designing your email
- Creating a Synchronized Module
- Setting Responsivity
- Building Smart Containers
- Creating a Gmail Promotions Annotation
- Adding a Rollover Effect
- Adding a Background to an Email
- Adding Anchor Links
- Adding a Video to an Email
- Adding a Table to an Email
- Adding a Custom Font
- Adding Social Media Buttons
- Editing HTML and CSS
- Working with “Images” block
- Using AI in the Email Editor
Omnichannel
- SDK for Mobile Apps
- Managing mobile SDK access keys
- Connecting Mobile App
- Creating a Google Project for Mobile Push Notifications
- Creating Mobile Push Messages
- Setting Up Delivery and Clicks Analytics
- Deep Links and Universal Links
- Scheduled Mobile Push Message
- Sending Test Messages from the Event Debug View
- Setting Up Widgets for Your Site
- Widget Calling
- Storing data from widgets to contact fields
- Using Annoyance Safeguard
- Actions After Form Submission
- Yespo Extension for Google Chrome
- Creating Pop-ups via Google Tag Manager or WordPress
- Sending Yespo Widget Events to Google Analytics
- Replacing Double Opt-In System Workflow
- Setting Up Locations for the Widget Calling Rules
Automation
Personalization
Analytics
- Email Campaign Report
- Web Push Campaign Report
- Viber Campaign Report
- Mobile Push Campaign Report
- App Inbox Campaign Report
- Widget Report
- Triggered Campaign Report
- AMP Campaign Report
- SMS Campaign Report
- Multilingual Campaign Report
- Setting up UTM Tags
- Revenue from Campaigns
- Tracking Campaign Performance in Google Analytics
Multilanguage Campaigns
Events and Behaviour Tracking
Recommendations
API
Security and Compliance
Integration
Service Worker. Troubleshooting
The Yespo web push script is loaded via a Service Worker file called sw.js and placed in the site's root. The problem can occur if the site code already uses files with the same name or uses a different Service Worker.
1. Changing the name of Service Worker sw.js
Some builders (GoDaddy, Wix, etc.) place the sw.js file in the site root by default. Since the Yespo file has the same name, errors may occur.
To avoid problems, you can rename the file and, if necessary, specify the path to it in the Yespo script.
To do this, find the initialization function in the Yespo script code
es("pushOn");
and add parameters to this entry in the following format:
es("pushOn", {'service-worker': {'relUrl': '/push-worker.js'} });
where the 'relUrl' parameter is the path to the file and its arbitrary name.
2. Merging Service Workers from Yespo and PWA
Sites with PWA (progressive web app) already use Service Worker, i.e., they contain a JavaScript file with a specific set of functions. To enable the ability to subscribe and send web pushes via Yespo to your site, you need to add the line at the end of the JavaScript code of your Service Worker
importScripts('https://push.yespo.io/service-worker.js');
Note
The names of functions, variables or handlers in your Service Worker and Service Worker from Yespo may be the same. In this case, conflicts leading to failures in your PWA and the Yespo script are possible.
Below is a list of methods’ (functions’) names in the Yespo file:
- onPushNotification
- getNotificationContent
- showNotification
- getNotificationData
- determineClickedLink
- collectActionLinks
- trackNewServiceWorkerActivation
If the names in your Service Worker and the Yespo's Service Worker match, the function located last in the code will be called. For example, if the code according to this instruction ends with the line
importScripts('https://push.yespo.io/service-worker.js');
then the functionality related to web pushes will work correctly.