Spark is a set of tools that make video on your site more exciting and fun. These features increase CTR, user engagement and monetization of your online video assets.
All Spark features require one line of code on your site.
your site and in any iFrames that contain a video player, including your customer ID. Note that it is loaded
Adding Spark to your site leaves you in full control over its deployment, activation and appearance. You can make any changes yourself, in real-time and without even contacting Spark support.
It is sometimes you would like to add the JS code to your staging or
development environment. It is important to know that some Spark features
may *appear* not to work initially, but this is normal in a staging
See how Video Previews and Watch Next recommendations behave in a staging environment, which does not have traffic from real users.
Note that you need to provide our support team with an access to this environment in case you still require some help with the integration.
Yes. Running on production is the best way seeing Spark in action. In case you would like it to run only in limited pages before activating it on the entinre website, there are two ways of doing so:
Spark is designed to never slow down your page, or become a single point of failure in any way:
window.dispatch(new Event('init_spark_load')) event and
will load the complete package once triggered).
Nothing. Your site will work normally. The JS is loaded asynchronously. If it fails to load altogether your site continue to work just as it did before Spark as added.
Yes. You may exclude any mobile operating system you choose using the control panel.
Yes. But in order to make sure your users get the most up to date version of
every 5 minutes. This can be done easily with a cron job. Example for
5 * * * wget https://player.h-cdn.com/loader.js?customer=[customer ID] -O /var/www/website/js/loader.js
In addition, make sure cache control
max-age attribute is set
to 5 minutes as well. It should look like:
See the Spark API document for details.
Yes. Install the Spark Configurator. It adds the Spark JS to your local browser. This will allow you to instantly use and customize all Spark features on your site. See the Configurator section for details.
You can benefit from Spark even if you plan on developing similar features in the future.
Yes. Spark uses a few text strings as part of the UI (For example: "Unmute",
The default language is English, and Spark includes built-in localization for several languages. If your site is in one of the built-in languages, simply select it in your control panel.
You can easily edit strings and/or translate Spark to your local language.
In case you have a multi-language site, Spark identifies the site's language as seen by the user and automatically switches the UI for that user to the correct language.
Yes. Spark is implemented in native mobile apps using a simple SDK.
Yes, Spark CDN can work with online video platforms, specifically:
Yes. Spark works with any video player (e.g. HTML5 players, JWPlayer, FlowPlayer, TheoPlayer, Shaka player, Kernel Player...).
Yes. Spark works with any desktop or mobile web browser.
Spark is designed to give your users a high quality, YouTube-like experience for your own videos that are hosted on your site. Spark features do not work on YouTube, Vimeo or Dailymotion embeds.
Yes. Spark fits inside your existing page and player.
Spark no longer offers a free version. Spark premium pricing is based on monthly packages. Packages start at $250 per month. There is no commitment, you may cancel your package anytime, without talking to anyone.
See the pricing table for details.
Yes. After signing up for Spark, you may test in on your staging environment for 7 days for free. Testing on production requires a premium account for the first month.
The Spark monthly package includes the following components:
Yes. When your account balance goes down to 15% of the balance you had after
your last payment, Spark will send you an email to remind you to add funds
to your account.
For example: If your previous balance was $200 and you added $800, you will receive an email when your account balance reaches $150.
Yes, you may configure Auto-Recharge in your billing section. You may select to be automatically charged to your account. This will ensure that Spark will always be active on your site.
If your balance reaches zero, all Spark features will stop working.
Your site will appear and behave just like it did before you added Spark.
You will also receive an email notifying you that your balance is zero, with a link to the billing section on the control panel.
If you go over the allowed limits of the package you signed up for, you will be charged overage fees based on your rate card. If Spark sees that your overage fees are such that it would make more sense to upgrade your package (meaning - your total payment will be lower with a larger package), Spark will switch you over to the more economical package in the next billing period and notify you accordingly.
Spark Video Preview provides your user with engaging Video Previews instead of static images. Spark automatically finds links to videos on your page, and generates short video previews which are displayed when the user passes his mouse over the thumbnail.
A video preview is more engaging and increases CTR on video articles.
Yes. Spark Video Preview works on any mobile web browser. Since there is no mouseover event in mobile, Spark Video Previews are activated when the thumbnail reaches the middle part of the screen, and stop when the thumbnail is scrolled away from the middle.
No. Spark will automatically generate and host the Video Previews using your original video file.
Previews are displayed as an overlay on the existing page and do not count as extra page views.
Spark adds a negligible amount of overhead. In order to generate each
Video Preview, a single Spark server will download the only the parts
of the video required to generate the Video Preview from your CDN.
This happens automatically, as soon as a new video is added to your site, and is equivalent to less than one additional user watching the video.
The Spark server that downloaded the video will generate the Video Preview and distribute it to other Spark servers. This process is transparent and does not increase your monthly bill.
Yes. Spark can create a customised, small JS file to include on your homepage. Contact Spark support for details.
Spark servers keep specific Video Previews cached for as long as possible, based on usage frequency and storage considerations. If a Video Preview is missing, it will be re-generated for next users to enjoy. In any case, the overhead is negligible.
Since Video previews are delivered from Spark servers, they will be
displayed only after they are generated and stored.
In a production environment, Video Preview generation is triggered automatically the first time a user watches a video. If you are testing in a staging environment, Video Previews will not work instantly, since they have not been generated yet.
In order to generate Video Previews, watch the videos on the page. This will trigger Video Preview generation on Spark servers. Wait a few minutes, then refresh the page and try again.
Note: You can use Spark's debug mode to troubleshoot Video Previews.
Spark Video Previews work out of the box for links to video articles or files. No additional configuration is required. Videos are selected as follows:
video.mp4 is the URL of the video inside the linked
article that will be used to generate the preview.
You can disable Video Previews on specific videos by adding the following attribute to your HTML tag as follows:
video.mp4 is the URL of the video inside the linked
article that you don't want to generate the preview for.
Video Previews are displayed by the browser's internal video player. There is no need to load a video player in order for Video Previews to be displayed.
No. Spark servers use the original videos only to generate Video Previews. Once the Video Preview is ready, the Spark server deletes the original video.
Yes, simply go to the content purge section on your control panel, choose
which Video Preview(s) you want to purge and click the "Purge" button.
Video Previews will be purged within a few minutes. New Video Previews will be automatically generated as soon as users start watching the original videos.
Spark uses multiple algorithms to analyze your videos. These algorithms
create the most compelling preview from the full video based on viewing
A Video Preview is made out of a few short video segments called 'slices'. Spark uses the duration of the original video in order to select one out of three default rules for Video Preview generation:
It takes about few minutes from the first time a video is requested by the first user until the Video Preview for that video becomes available and users start seeing it.
Video Previews are generated automatically as soon as the video is viewed for
the first time. No action is required on your part.
In case you still want to trigger generation (for example, as soon as a new video is uploaded) you can do this via a simple HTTP API - see the Spark API document for details.
If a Video Preview is not available (e.g. a new video was just uploaded, but the automatic Video Preview for that video was not fully generated yet), the existing static image will be used on mouseover.
This is a simple configutation issue. To avoid creating Video Preview for ads, Spark includes a predefined list of video ad servers to ignore, and your ad server is not in the list. Make sure you exclude your ad servers in the Spark control panel. This will ensure Spark will generate the correct Video Previews.
Yes, Video Previews work out of the box on all browsers.
Safari (from version 11) and future versions of Chrome (from version 64 expected around January 2018) will block auto-play of videos. This blocking is not relevant to Spark Video Previews, for two reasons:
Spark does not require access to high definition versions of your video. Even 360p or 480p versions are sufficient in order to create Video Previews.
Spark servers need to be able to access videos on your site in order to generate video previews. When video chunks are protected, there are few methods in order to be able to fetch them, for example:
In any case, this is a simple implementation step. Contact us to find the best solution for your specific needs.
During the implementation/testing stage: To be able to check that
Spark code works as expected on your site, Spark engineers need to be
able to access it. Since they are not in your designated geo, they will
provide you with a few IP addresses to whitelist.
For production:, you should allow additional Spark servers access to your geo blocked videos. The list of server IP addresses to whitelist can be found in your Spark portal.
You can configure how Spark Video Previews are generated, when they become active on the page, and how they are displayed. For the most up-to-date set of options, see login to your control panel
Video Preview files have different sizes depending on the duration of the preview, its size in pixels and if it is used for mobile or desktop. Sizes vary between 100 and 400kb.
You can control the behavior using the Spark control panel to decide if Video Previews are loaded on demand (when user mouses over the thumbnails, for example), or if they are pre-loaded when the page is loaded so that they are instantly available when the user mouses over.
Yes - see the Spark API document for details.
Yes. The Auto-play option allows you to automatically trigger Video Previews after a given interval. When Auto-play is enabled, random Video Previews within the viewable page will randomly start playing, even if the user does not mouseover. This draws the attention of the user to those videos.
Yes. Video Previews can either appear at the exact size of the existing thumbnail, or re-size automatically as follows:
You can configure these settings in Spark portal.
In case your thumbnails don't include a play icon, you can configure Spark to add an overlay play icon on your thumbnails in your Spark portal.
This feature provides seek functionality with Thumbnails to find the desired video location.
Yes. Spark Video Thumbnails are compatible with any video player.
No. Spark will automatically generate and host the thumbnails from your original video file.
To generate Video thumbnails for each video, a single Spark server will
download the video once from your CDN. This is equivalent to one additional
user watching the video and as such is totally negligible overhead.
The Spark server that downloaded the video will generate the Video thumbnails and distribute them to other Spark servers. This process is transparent and does not increase your monthly bill.
Spark does not require access to high definition versions of your video. Even 360p or 480p versions are sufficient in order to create Player Thumbnails.
Spark servers need to be able to access videos on your site in order to generate thumbnails. See here.
No. Spark servers use the original videos only to generate Player Thumbnails. Once Thumbnails are ready, the Spark server deletes the original video.
Yes - see the Spark API document for details.
Visual Timeline is an Player Thumbnails option which displays selected
thumbnails under the seek bar. This allows the user to get a high level view
of the video and instantly seek to the interesting section, without having
to manually hover over the seek bar.
Visual Timeline is compatible with the following video players: Spark Player, VideoJS and JW Player.
Spark can disaplay thumbnails on the entire player window. This
delivers an amazingly responsive seeking experience.
When dragging the seek bar, the user can instantly see a high-speed full screen version of the video and decide when to stop dragging and resume normal viewing.
When seeking to a new location, the user sees a greyed out image of the video in the target location. The loader appears on top of this image; this effectively makes seeking feel instant, because the user already sees an image.
This feature provides your user with recommended videos to watch, displayed while the current video is still playing. The user can decline the suggestion, click the suggested video to see it, or do nothing - in which case, the suggested video will automatically be loaded at the end of the video that is currently playing.
Video suggestions are engaging and increase video views.
Suggestions for next videos come from one of the following:
Spark uses different methods to categorize videos for Watch Next suggestions:
Yes. You can configure Spark Watch Next suggestions do not include videos only from the same category (for exampe: a user watching a sports video will see only popular, new or trending sports videos).
Yes. Spark Watch Next suggestions do not include videos that the user has already seen.
Watch Next selects recommendations from a database of watched videos.
Typically, testing on staging does not create a database large enough to
derive recommendations from, so you might not see any Watch Next
recommendations. This is normal and expected. Contact Spark support for a
'dummy' static list of recommendations to be displayed in your staging
In production, there are always sufficient video views in the Watch Next database, and Spark displays recommendtaions.
Note: You can use Spark's debug mode to troubleshoot Watch Next recommendations.
Yes, this is possible using the Spark portal. By default, recommended videos will be displayed 30 seconds before the end of the video that is currently playing.
Yes, this is possible using the Spark portal.
This feature increases video views on both desktop and mobile platofrms by auto-playing the video. Auto-play happens in a user-friendly way, which is also fully compliant.
Smart Auto-Play allows you to enjoy Auto-Play on one hand, with an unmuted, high intent user initiated ad on the other for maximum CPM. See this short step by step video to understand the Spark Smart Auto-Play process:
Yes, this is a simple configuration option in the Spark control panel.
Many web pages include a video player and text which requires the user to scroll to read the full article. When the user scrolls up or down, the player disappears from view. The Floating Player feature ensures the user continues to see a small player window in a fixed location on the page, even when the original video player is no longer visible.
The Floating Player allows the user an uninterrupted video experience even when they are scrolling through the page.
The Floating Player is visible even if the user scrolls the page. This improves monetization, because:
Note: You can configure the Floating to show the actual video and the ads, or just the original content. By default, the Floating Player will show both.
Spark uses your existing player. You do not need to change anything on your site other than simply add the Spark JS code.
Yes. Simply append '?hola_persistent_video=1' to any page URL and refresh. This will enable the Floating Player on that page. Try this both on desktop and mobile browsers.
Yes, these are configurable via the Spark portal.
Yes, simply adjust the activation rules in your Spark portal to exclude ads. Once you do, if the user is scrolling the player out of view while a video ad is playing, it will continue inside the original player window. After the video ad is finished and the actual video starts playing, the Floating Video Player will be activated.
Yes, the user can drag the player to any location on the page, or close it. You may also set up the system to display the player in a fixed location via the Spark portal.
Image Preview provides your user with dynamic image thumbnails instead of static images. Spark automatically finds links to images on your page, and plays a slideshow of the target images when the user passes their mouse over the thumbnail.
Image previews are more engaging and increases CTR.
You only need to host the original image that are part of your article, just as you do today. Spark will automatically generate and host smaller versions used by Image Preview.
Previews are displayed as an overlay on the existing page and do not count as extra pageviews.
It takes about 15-30 seconds from the first time a new article is requested by the first user until the new Image Preview becomes available and visible to users.
If an Image Preview is not available (e.g. a new image gallery was just uploaded, but the small versions of the images were not fully generated yet), the existing static image will be used on mouseover. In other words, your site will function normally, as it does today.
Yes. Spark Image Preview works on any mobile web browser. Since there is no mouseover event in mobile, Spark Image Previews become activated when the thumbnail reaches the middle part of the screen, and stop when the thumbnail is scrolled away from the middle.
If you enable the 'Position Memory' feature, Spark will keep track
of each video's last position so that when the user returns to the same
video, it will continue from the same location.
Spark will show the last position on thumbnails pointing to the video, similar to how this is displayed in YouTube.
Yes, but only if your site offers a sign-in mechanism that allows users to use it on different devices. Spark lets you use your own sign-in system to synchronize the position memory information across signed-in devices.
You can configure the height and color of the line used to indicate the last position using your control panel.
Spark Video Widgets increase video views on your site and are easy to embed into any part of your website.
Spark Video Search allows your users to search for videos on your site and receive search results in a YouTbe-like format that they are very familiar with.
Spark Video Search can search for videos on your own site, videos on other sites in your network, and/or video of 3rd party sites - for example sites that reward you for referral traffic.
See the Spark API document for details.
Spark Video Sharing widget allows your users to share any video on your site using a familiar YouTube-like format. Users have the option to share the video at a specific location, so that when their friends click the link, the video will start at the specified location.
You can embed the Spark Video Sharing widget on any DIV in your site's HTML, and/or add a share icon on top of your video player. See the Spark API document for details.
This widget allows you to instantly add Popular, New or Trending videos to any location in your site. See the Spark API document for details.
Casting to TVs is a Spark feature that allows any player to project (cast) its video to a large screen, for example a smartTV, a ChromeCast device, an AppleTV etc.
There is a big difference between casting a browser tab using the built-in
casting option, and between direct casting of the video from the player using
Casting a browser tab mirrors images that are visible on the browser screen to the TV. This results in very low video quality, high lag and freezes. Effectively, the PC is not really casting a video, it is only sending a series of screenshot images to the TV.
Casting using Spark means that the big screen device (e.g. Chromecast) is directly and independently playing the video. This ensures high quality (up to 4K) and smooth viewing. Furthermore, the user can close the browser and/or the PC - the video will continue playing on the TV.
Casting to TVs currently supports ChromeCast devices plugged to any TV. It
also works directly (no ChromeCast required) with many SmartTV models from
LG, Philips, Toshiba, Sony, Sharp, Vizio and others.
See this link for an updated list of compatible SmartTVs.
Spark Player is a web video player based on the popular video.js open source project. It supports HTML5 and Flash videos. It supports video playback on desktops and mobile devices. The Spark player integrates all advanced features provided by Spark. Refer to the Spark player page to download its source code.
No. Spark works with any video player, including but not limited to Spark player.
Spark Player uses a fair and simple business model: a fixed license cost per month, which includes 24x7 support. The price does not depend on the number of video views or ad impressions!
Using the player from Spark servers allow us providing you the best support
service and fix problems on the player quickly. Once the player is working as
expected, and in order to increase the speed it is loaded on your website, we
will ask you to host it on your servers.
To host the Spark player on your servers you need firstly to download its source code from the Spark servers. For example, use the following command to download and store the player on the
player directory on your
wget http://player2.h-cdn.com/hola_player.js?customer=[customer ID] -O /var/www/website/player/spark_player.js
Once you have downloaded the source code, replace all the calls with the following call:
<script src="//your.site.com/your/path/spark_player.js?customer=[customer ID]"></script>
The customer id is still required and should be preserved.
The Spark Configurator is a Chrome extension that adds the Spark
JS to your local page. This simulates the deployment of the code on your
The Configurator allows you to enable/disable different Spark features as well as configure their look and feel. Changes are applied instantly to your local browser.
The Spark Configurator is a development tool meant to do basic sanity testing on the site, and does not replace the deployment of the Spark JS on the site.
If you do not have a Spark account, you can still use the Configurator using a built-in demo account.
If you have a Spark account, your CustomerID should automatically appear. If it does not appear for any reason, enter it into the CustomerID field.
The Spark Configurator is a development tool meant to do basic sanity testing
on the site, and does not replace the deployment of the Spark JS on the
For example, in some cases, the Configurator is unable to add the Spark JS Code to all the required sections of your page, causing some features not to work. Obviously, when you add the code to the site, it will be added correctly so all Spark features will work.
This is totally expected, since Video previews need to be generated
on Spark servers first. When you are using the Configurator on a new
page or video, the Video Preview is not generated yet.
Video Preview generation is triggered automatically the first time a user watches a video. In order to generate Video Previews, watch the videos on the page. This will trigger Video Preview generation on Spark servers. Wait a few minutes, then refresh the page - your Video Previews will work.
If you want to see the Video Preview generation process, enable the 'Display hints on missing Video Previews' option inside Video Preview settings. You will see helper messages on the thumbnails and experience the Video Preview generation process. Important:In production, Video Previews are generated automatically as users naturally watch the videos, and the helper messages you saw never appear.
This is totally expected, since Thumbnails need to be generated
on Spark servers first. When you are watching a video for the first time
the Thumbnails are not generated yet.
Thumbnail generation is triggered automatically the first time a user watches a video. In order to generate Thumbnails, watch the video. This will trigger Thumbnail generation on Spark servers. Wait a few minutes, then refresh the page - your Thumbnails will work appear, as well as the Visual Timeline (if you enabled it).
Important:In production, Thumbnails are generated automatically as users naturally watch the videos.
Yes. The Spark Configurator will customize your local page. Local settings you enable on the Configurator will override any public settings already configured on the control panel. In order to apply the changes to all users, copy the settings to the control panel.
Yes. The Spark Configurator is a development tool that also collects lots of
real-time debugging information. For example, in order to display real-time
progress for generation of Video Previews, the Configurator polls many Spark
servers every second, and constantly redraws multiple elements on screen; on
some machines, this can cause some lag.
Important: This kind of lag does not happen at all in production!!!
Spark Video Acceleration uses a new way of streaming video from multiple
servers for a single video. The Spark algorithm selects the fastest
available server to deliver the first few seconds of the video. This offers
faster start times compared to streaming the same video using traditional
CDNs, that deliver the video from a single server.
For additional information, click here.
Spark Video Acceleration uses a new way of streaming video from multiple
servers for a single video. If one of the servers that is streaming the video
slows down for any reason, the Spark algorithm selects another server
that can continue streaming the video with no buffering. This offers
significantly less buffering compared to streaming the same video using
traditional CDNs, that deliver the video from a single server.
For additional information, click here.
Spark Video Ad Stitching provides a seamless transition between video ads and the actual video the user wanted to watch. For additional information, click here.
Yes. Spark offers a "Hotline" service, which allows you to be notified
in case of problems on your site or on your existing CDN.
You can receive alerts via phone or email. To enter your contact details and specify times of day Spark is allowed to contact you, go to your portal account and enter the relevant information.
The Hotline service is provided to paying Spark customers.
Spark operates a 24x7 Network Operations Center (NOC), monitored by Spark
engineers. The NOC team uses automated systems to monitor your site's health,
and is trained to perform manual tests to identify and troubleshoot problems.
If you opted to use the Hotline service,
the team will alert you to problem with regarding problems on your site, and
Monitoring is performed on three levels:
You can enable Spark in 'debug mode', which adds information to console
printouts and visual indiscations on your actual web page.
Debug mode is very useful to troubleshoot Video Previews and Watch Next recommendations. To enable debug mode, simply append '?spark_debug=1' to the page URL.
See the API guide for additional options and information.
For security reasons, browsers do not allow any JS code that is in a web page
to function inside its
iFrame and vice versa. This means that if
your video player is inside an
iFrame, you need to add the Spark
JS to the
<head> section as well.
cannot access the player.
iFrame. To create
this link and to be able to generate Video Preview for the video played on
the player inside the
iFrame, Spark JS needs to be in the
Yes. Specifically, if you use Brightcove AMP, see the API guide for additional information.
Yes. See the API guide for additional information.
You can disable Spark from the control panel. This means that the Spark
JS will still be loaded, but in disabled mode - so it will not do anything.
You can also temporarily disable all Spark features by appending '?spark_disable=1' to any URL (e.g. 'https://www.mysite.com/index.html?spark_disable=1'). This is useful for when you want to quickly check a single page without Spark.
If you want to prevent the Spark script from even loading on your page without any development effort, you can do it in 2 ways:
1. Use an adblocker. Instruct the adblocker to block the domain 'player.h-cdn.com' by adding a custom rule - this will prevent the Spark JS from loading. Don't forget to remove the blocking once you are finished!
2. Use Chrome developer console. Open the network tab, load the page and locate the request to load the Spark script (it looks like "https://player.h-cdn.com/loader.js?customer=..."). Right click the request and select "Block request URL" from the menu. Reload the page, and the Spark script will not be loaded - you will see the Spark script line in red. Don't forget to remove the blocking once you are finished!
When you change a configuration setting on the Spark control panel and save
the change, a new configuration revision is created called 'tag'. You
can see the latest tag number when you save the config, and in the
A new configuration tag usually takes a few minutes (up to 5) to propagate and become active on pages that use the Spark JS code.
Sometimes, you want to be sure which tag your page is using - for example to see if a new configuration settings has become active already.
In order to see this, open the developer console and reload the page. When Spark loads, you will see a message like "Video enhancements powered by HolaSpark.com v1.79.314.T660". The last part of this lline (Txxx) indicates the tag that is used (in this example: 660).
Yes. It should take you not more than 2 min. Simply configure GTM to load the Spark JS on all pages that have video or links to video pages. Specifically:
Yes. See how to configure this here.
The requests you are probably referring to probably look like
'https://zagentXXXX.h-cdn.com/ws_client?zone=gen' or similar.
This is in fact a websocket based communication over HTTP, and does not work as HTTP URL, so it is normal that you will receive a 403 error if you try to open them using a browser.
This is normal and can be ignored - it has no impact on Spark, the page or
the user experience.
Spark client uses WebSockets instead of HTTP requests to communicate with Spark servers. This reduces the number of HTTP requests and avoids displaying meaningless HTTP errors console. For example, it is totally normal for Spark client to request Video Preview from the server, but for that Preview not to be ready yet. Normally this would result in a 404 error which is confusing. Using WebSockets eliminates these error messages.
Even during normal operation, you may see WebSocket errors. This is because Spark sends requests to multiple servers for some elements in order to find servers which can serve as hot backups. This improves Spark's reliability and speed. It is normal for some servers to decline connection requests. These errors can be ignored, they have no impact whatsoever on Spark or on the site.
If WebSockets are totally blocked for any reason, Spark falls back to using HTTP requests.
Spark sends requests to multiple servers for some elements in order to find servers which can serve as hot backups. This improves Spark's reliability and speed. Servers which cannot be a hot backup respond with 503 errors - This is totally normal and these errors can be ignored, they have no impact whatsoever on Spark or on the website.
In iOS mobile web, default video playback uses fullcreen and the iOS native
player. This is usually a bad user experience as it takes the user abruptly
out of the artical they were reading. Furthermore, it does not allow you to
use Spark Floating Player, Watch Next recommendations etc.
Disabling full screen playback is easy. You can make your videos play inline, inside your webpage, adding the
playsinline attribute to the
video tag, as in the example below:
You are probably using a "load" event to start the video. The difference
between Chrome and Firefox is that Firefox waits for all requests to finish
before triggering "load" event, even for asynchronous requests and
Chrome does not.
There are two events related to a page loading process: "load" and "DOMContentLoaded". Using "DOMContentLoaded" is better, because Firefox will not wait for all images and other page resources such as the Spark JS to load before auto-playing the video.
Once you start using "DOMContentLoaded", your autoplay videos will start playing as fast as on chrome (with or without Spark).
Spark is developed and maintained by a dedicated group of engineers who are passionate about online video.
No. Spark does not download or display any ads.
While other companies charge monthly fees for similar products, we believe that the best way to show off the value of the Spark CDN is to first show what your existing performance is, and then to let you compare it with what we can do for you.
Yes, Video Analytics are optional. You can turn them off using your Control Panel
Yes. By default, Spark CDN team will enable Spark CDN servers to stream some
of your video traffic. This will reduce your existing CDN traffic and cost,
and it is free of charge.
You do not need to take any action to receive this traffic. If you are using Spark CDN video analytics and do not want to receive free traffic, contact us.
Spark CDN only collects information regarding video performance: start/seek
times, buffering events, video bitrates etc.
All statistics are available as tables and graphs per platform, per device, per country, per city, and per ISP and are exportable to multiple formats.
For a more detailed list see our reference guide.
No. Spark does not collect any personally identifiable information such
as usernames and passwords. It only collects video performance information
such as start time, seek time, and buffering events.
Information collected is sent as clear text and can be seen in the browser developer console. Detailed sample printouts of the information collected are available in the reference guide. Data collected is stored on secure, dedicated Spark servers.
If you want to reduce information collected even further in order to comply with European laws, see below.
Yes. If you would not like IP address information to be stored on Spark servers, you can simply turn on the "Enhanced user privacy" setting in the configuration section. This will strip away any user identifiers such as IP addresses from logs and error reports. IP addresses are removed on the client side, before reports are sent to the server.
No. Spark does not have a notion of 'user' in its database - this is simply not information Spark needs for normal operation. In other words, there is no way to connect specific performance metrics to a specific user. At best, performance metrics can be associated with IP addresses, unless collection of IP addresses was disabled (see "Enhanced user privacy") above.
Yes. Please contact Spark support
in order to exchange technical information required for this functionality.
Basically, Spark support team will ask you for technical details that will allow Spark code to identify when your user has opted-out using your site's specific functionality.
Yes. Spark is GDPR compliant in its normal modes of operation. You have the option of enabling Spark Incognito mode for even more exterme user privacy.
Spark support can enable Incognito mode for you. When enabled, Spark
will not save any information at all on the user machine. Note that
this mode disables certain Spark functionalities (e.g. AB tests are no longer
possible), and may slightly hurt performance (since nothing is cached on the
Although Spark is GDPR compliant even in Enhanced Privacy Mode, Incognito mode ensures GDPR compliance beyond any shadow of doubt. Contact Spark support for additional details.
Yes. You can disable collection of Video Analytics anytime from your Spark portal. This will not have any effect on other Spark features.
Spark Video Analytics are stored for each video in one second increments. Aggregation calculations are performed every 5 minutes. Raw data can be exported to JSON and CSV formats, and via API to external platform.
Spark by default keeps logs of last 1000 events in the poartal. Those events
keep rotating. It is possible to disable analytics so no logs will be
Spark internal systems may keep logs up to 1 week for debug and optimization purposes. Those logs are auto-deleted and the logs keep being rotated. We don't keep personal user information (eg. user name, IP, etc)
If your account is active, Spark does not delete video analytics from
your account, but the granularity of stored statistics varies.
Granular statistics (which go down to 5 minute intervals) are available for a period of 30 days.
Statistics 30 days or older are averaged (to hour, and later into days intervals).
So, last week's data includes all data points and the results are very detailed, but last month's data is less detailed.
Note:If your account is inactive for over 90 days (meaning: Spark was not used to stream videos or collect video analytics), it will be automatically disabled. Billing records will remain intact, but all statistics in your account will be permanently deleted.
You may re-activate your account at any time by logging in to the portal.
Statistics for individual videos appear in the 'events' table as soon as the
video finishes playing.
Statistics from multiple videos are aggregated every 5 minutes, which is also the frequency the dashboard, maps and detailed statistics table are updated.