Alerts let you send out notifications to your delegates during an event to keep them updated on schedule changes, or encourage them to visit certain sessions for example. They are a great way to keep your attendees fully up to date with your event, and drive engagement with things like surveys or activity feeds.

Alerts can be sent as in-app popups, emails and native push notifications (if you have distributed your app as a native build via the app stores).

Preparing alerts

To start creating alerts, visit the 'Alerts' section in the dashboard by clicking the icon in the dashboard toolbar. From here you can view any alerts that have already been sent out, or create a new alert.

Enter a title and some text for your alert in the message box provided, you can elect to send your alert at a pre-scheduled time in the future or send it immediately. We recommend setting up alerts in advance wherever possible, so that the copy can be checked, or any last minute changes added before it goes out to your attendees. You can click the checkboxes underneath the description to decide how you want to send your alert. If you elect to send it as a native notification, you'll need to enter a 'plain text' version of your alert, as native notifications don't support formatting like bold or italic text.

If sending the notification as a push via a native app (if you have distributed your app as a native build via the app stores) you can add a 'deeplink' action taking the delegate to a specific place within the app when they tap the alert on their device.

Deciding who will receive the alert (Recipients).

You can choose to send the alert to all users of your app, or a select few by assigning groups to the alert. If you decide to send it to a selection of groups, then those people will need to have signed in to the app at least once in order to receive the notification.

If you don't specify any groups, then the alert will go out to all users of your app, regardless of whether they have logged in or not.

For native notifications, users will need to have confirmed that they wish to receive native notifications from your app when they first open it. If they decline this permission then the app cannot deliver native notifications to that user.

Alerts sent via email will go out to any designated attendees regardless of whether they have logged into the app yet and can be especially useful for pre-event communication. They follow the same rules as other alert types, so will go to all your attendees if you don't specify and specific groups in the alert settings.


Alerts are usually sent out as soon as they are due but with all things on the internet, they may take a little while to arrive. This can be down to a number of factors including available capacity on the platform and internet speeds at the event venue. If you're experiencing any issues sending alerts out, contact your account manager who'll be happy to assist.


Accessing CC Apps

There are multiple ways to access CC apps. The first big decision is whether to go native or web.

We find web apps and CC Events native apps are often the smoothest apps to build, because standalone native apps provide much more administrative work and time before they can go live.

Web Apps


To access a web app, you just visit a web link (URL), such as We can set this domain to be anything you'd like - so long as it's available! Then, to save the app to your device's home screen, simply bookmark the URL and the app icon will be visible for easy access, just like any other app.

There's no additional time or financial costs when going with a web app, so as soon as the app is designed and full of content, you can launch right away!

Pros of Web Apps
Cons of Web Apps

One link for all devices: works on mobile, tablet, laptop and desktop

Push notifications not supported - email alerts work best with web apps

Custom app icon and URL

Some organisations prefer having an App Store and Google Play store listing page

App can be launched immediately after all content is added - no delays by the native submission process

Native: CC Events Container App


CC Events is our own native app which can be downloaded and used to provide the benefits of native without the associated costs and time penalties. You can find out more and download CC Events by clicking here.

Pros of CC Events
Cons of CC Events

Native & Included in all packages

No custom app name or icon available


Push notifications supported

No additional cost or time penalties (no app store submission needed)

App can also be accessed as a web app

Native: Branded Apps

More information about the native submission process and requirements for branded native apps can be found here.

There are 2 types of branded native apps - standalone apps and portals. A standalone app is a single app, submitted to the app stores. A portal can house multiple apps, making it a more cost and time efficient option if your organisation or client has multiple events as you can use a single branded portal and have multiple apps within it. As your account manager or get in touch if you have any questions!

Find out the difference between portal app and standalone app here. 
Pros of Branded Native
Cons of Branded Native

Push notifications supported

App store accounts must be set up by end client

App can have bespoke name and icon

Additional time and costs associated with native - getting developer accounts setup if applicable, granting us access to those accounts, then the time for Apple to approve the app


App has page in App Store and Google Play Stores

App can also be accessed as a web app

The launch process of a native app usually happens in two stages:

  1. Submit an app to the app stores with finalised icon, splash screen and store listing details (these can't be changed later), but with dummy content inside the app if finalised content isn't yet available
  2. Once the app is approved and live in the stores, replace the dummy content with the finalised content - then the launch can happen!


Ask a Question / Q&A

The Q&A feature of our app is one of our highlight features. Below is a video showing how Q&A works!

Show All Submissions on Mobile Device

This setting is on by default. When toggled on, every user in the app will see all moderated on questions submitted by all users when visiting the Q&A page.

When toggled off, a user will only see the questions they've submitted themselves in the app (provided they've been moderated on). For example, if user A submits some questions and user B submits some questions, they will each only see their own questions. 

This allows a level of privacy between users as there is no visibility as to what other people have asked.

Banner Message Guide

Banner messages are user defined messages which will appear in a banner at the bottom of each screen within the Front End of the platform when enabled. They are useful for clients who need to constantly display legal messages, copy right information, safety instructions, etc.

Banner Messages can be enabled and edited within the “Banner” settings within CMS which could potentially cause initial confusion as the Banner Adverts settings are also held there. Banner Adverts are the banners displayed on the Front End user navigation bar which disappear when the navigation bar is collapsed/not present and are independent of the Banner Messages.


Creating a Banner Message

  1. To create a banner message on the Front End of the app, login to CMS, locate the application and navigate to settings>banners. This will default to the “Banner Adverts” tab.image-1628259460884.png
  2. Select the “Banner Message” tab to navigate to the Banner Message options.


  3. To enable a banner message to appear on the Front End move the toggle bar to active for the “Show banner message”. This will allow the “Message” section to be editable.


  4. Using the “Message” box input any required text, images, files, etc. that you need to be displayed on every screen of the Front End.
  5. If you wish for the users to have the ability to dismiss the banner move the toggle bar to active for “Allow banner to be dismissed by user”. This will generate a “Dismiss” button on the banner, which when selected will remove the banner from all modules on the Front End until next login.


  6. When you are happy with content of your banner message click on the “save” button. A banner will briefly display providing confirmation your changes have been saved successfullyimage-1628259544013.png


Validating a Banner Message has been Created

  1. Login to the Front-End application and you will see the Banner message displayed at the bottom of each module using the same colour defined within the Branding for the Accent and Text on Accent. If applicable a button to “Dismiss” the banner is present.



CC Platform Data Anonymization / Wipe Process

6 Months after platform end date, all PI data is wiped from the app, but “content” remains in place and platform still visible on CC Dashboard. Users can no longer login as their email addresses will be anonymised. Here is a breakdown of what gets anonymised:

12 Months after platform end date, the project is archived and hidden the from CC Dashboard.

Note: this process happens automatically by the CC Platform and cannot be reversed. To ensure no data is lost due to this, keep an eye on the 'End Date' in the main app settings area and ensure the date doesn't become 6 months old if the platform needs to remain live / not wiped!

Client's Platform Privacy Notice - Guidance

We have made the process regarding privacy notices simpler and easier to use. Rather than requesting a CrowdComms support resource to up date the privacy notice, this can now be done directly via the CMS.

CrowdComms’ clients are data controllers of the personal data collected from individuals who attend or speak at events hosted on the CrowdComms platform. We call these individuals “Attendees”.

If the CrowdComms client is data processor (e.g. an event management company) then their end client is the data controller.

CrowdComms is a data processor of this personal data – we process this data on our platform on behalf of our clients.

Under UK data protection laws, data controllers must notify data subjects (in this case, the Attendees) of who they are, what they do with data subjects’ personal data and data subjects’ rights, for example, to request erasure of their personal data. Data controllers must provide this notification to data subjects at the time their personal data is collected from them.

We call the notice that data controllers must provide to data subjects a “Privacy Notice”.

To help our clients fulfil their notification obligations to Attendees we arrange for a pop-up box to appear when Attendees log into the event platform. This pop-up box contains wording about privacy and a link to a Privacy Notice.

All clients should have their own Privacy Notice which we can link to. However, we have created a Privacy Notice that our clients can use (a “Client’s Privacy Notice”) if they do not have a Privacy Notice of their own or if they would rather use our version.

Please note: clients use our Client’s Privacy Notice at their own risk. CrowdComms makes no representations, warranties or guarantees that the Client’s Privacy Notice is fit for purpose or that it complies with relevant data protection laws and, to the maximum extent permitted by law, CrowdComms disclaims and excludes any liability in respect of its contents. Clients should consider the contents of the Client’s Privacy Notice carefully to ensure that it is appropriate for them, make any necessary changes and take legal advice on its contents.



Cookies on CrowdComms Apps

CrowdComms uses cookies to enable standard analytics and error reporting. We do not store or share any personal data in cookies. Below is a list of the cookies in use:

Google Analytics

We use standard GA tracking cookies on all apps. These allow us to track pageviews and events like viewing documents or agenda items. All data sent to GA is anonymous. For specific information, refer to Google's documentation.

MUX Data

Mux provide video hosting and streaming services for CrowdComms. We also use their data services to track things like how many views a video has received, how long users watched videos for and things like the user experience score. MUX also tracks rough geographical locations of viewers. MUX cookies store an anonymous user ID that is used internally by MUX to differentiate views.

We use sentry to track issues with the platform, including logging errors and performance metrics. Data sent to sentry is anonymized. Sentry may create cookies during usage of the app if an issue occurs but this is not always the case




Custom CSS

Our platform was born with high customizability and branding in mind. Custom CSS can make your event website or app truly unique and allow your brand to shine through. "What is CSS?" I hear you ask... From Wikipedia

Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML. CSS is a cornerstone technology of the World Wide Web.

Leaning on our Design Team, or having some knowledge of CSS and jumping in yourself, you’ll be able to offer a truly unique and visually appealing event app design that will elevate the value of your event to your guests.

Handy Snippets to Get Started

Questions or Want Something Added?

Tap here to send a request for a new snippet!

Every CrowdComms app includes some Custom CSS added by our design team - and for common requests, we have a selection of CSS Snippets that can be added to your project to achieve your goals. 

Things we can use CSS snippets for:

Removing My Schedule

Hiding extra features to keep your app simple is one of the best uses of CSS. Here's a snippet that removes the ability for users to add sessions to their own individual "schedule". This is useful when you're using our "Managed Schedules" feature to show a unique 

Note: this snippet removes "My Schedule" from every agenda within your app. If you need it removed from just a single specific agenda, ask the team for help!

/*---------- Hide My Schedule ----------*/

.calendar-item__ticket {

Changing Stock Wording

Example: Changing the stock wording on an activity feed. Instead of saying "What's on your mind?", this changes the text to say "Selfie Challenge!". 

/*Change Placeholder Text on Activity Feed*/
.cc-module-XXXXX cc-activity-feed-submit-post .feed-submit-post__item > ion-label {
.cc-module-XXXXX cc-activity-feed-submit-post .feed-submit-post__item > ion-label:before {
    content:"Selfie Challenge!";
/*Change Placeholder Text on Activity Feed Popup*/
/*WARNING - this changes for the entire app, not just one module*/
.post-input .ql-editor.ql-blank:before {
    content:"Selfie Challenge!"!important;




Change wording for 'Speak to an expert'

/*---------- Change the Speak to an Expert Text ----------*/

cc-company-detail-section[header="COMPANIES_COMPANY_SPEAK_EXPERT"] h1 {

cc-company-detail-section[header="COMPANIES_COMPANY_SPEAK_EXPERT"] h1:before {

Simply replace the 'xxxx' on line 9 with your replacement text

Hide Online Indicator

/*---------- Hide online indicator ----------*/

cc-online-status {

Setting Custom Fonts

There are different ways to set custom fonts within the CrowdComms platform. Using Google fonts, you can select a font and use the @import CSS snippet to import it. Then you can use the "Set Font" snippet to set the font that way. Below is an exmple:

/*---------- Font Import ----------*/

@import url(';400;500;700&display=swap');

/*---------- Set Font ----------*/

html, body, p, textarea, input, span:not(.vjs-icon-placeholder):not([class*="material-icons"]) {
    font-family: 'Montserrat', sans-serif!important;
    --ion-font-family: 'Montserrat', sans-serif!important;

/*---------- Bold Headings ----------*/

h1, h2, h3, ion-card-title, ion-card-title span, span.session-title {

Alternatively if you have the font files yourself, you can upload font files to the CC Dashboard and use Custom CSS to set the fonts as the below example shows. To upload fonts, head to the Settings > Branding > Fonts area, and ensure the filenames of your fonts are consistent. We suggest using the following formats of fonts for maximum compatibility:

/*--------- Custom Font Import ----------*/

@font-face {
  font-family: "FONTFAMILY";
  src: url("") format("truetype"), /* Safari, Android, iOS */
    url("") format("woff"), /* Modern Browsers */
    url("") format("woff2"); /* Modern Browsers */

html, body, p, textarea, input, span:not(.vjs-icon-placeholder) {
    font-family: "FONTFAMILY", sans-serif !important;
    --ion-font-family: 'FONTFAMILY', sans-!important;

Replace "FONTFAMILY", "FONTWEIGHT", "FONTNAME", "SHORTCODE" and "FONTFILE" in the above snippet before pressing save.

Adding a Note at the top of Pages

/*---------- Add Message to the top of a module page ----------*/
.cc-module-xxxx .container:before {

/*---------- Add Note to Top of Info Page ----------*/
.cc-module-XXXXX cc-info-page-list ion-list:before {
    content:"Search by Name, Job Title or Company:";

Only show the banner ad on the sidebar

/*---------- Banner Ad only on Sidenav ----------*/

    cc-banner-ad {
    .menu-left cc-banner-ad {

Remove background image on people cards

/*-------- Remove people BG blur -------*/

.people-card__header-background-container {

Company module in three columns on desktop

/*----- Companies in columns of 3 -----*/

@media (min-width: 890px) {
  cc-companies-list ion-col {

Show company banners on mobile

/*---------- Show Company Banners Mobile ----------*/

.company-detail__background-strip::before {
content: unset!important;

Setting up Heading 6 to be a Button

/*---------- H6 Button ----------*/
h6 a {
    background-color: var(--ion-color-accent)!important;
    color: var(--ion-color-accent-contrast)!important;
	display: block;
	line-height: 1.4;
h6 a:hover{
    background-color: var(--ion-color-accent-contrast)!important;
    color: var(--ion-color-accent)!important;

Setting up Scrollbar Design

/*--------- Scrollbar ----------*/
	/* width */
    ::-webkit-scrollbar {
      width: 6px;
    /* Track */
    ::-webkit-scrollbar-track {
      background: rgba(255,255,255,0.2); 
    /* Handle */
    ::-webkit-scrollbar-thumb {
      background: rgba(255,255,255,0.4); 
    /* Handle on hover */
    ::-webkit-scrollbar-thumb:hover {
      background: rgba(255,255,255,0.6); 

Text Editor Image Sizing

By default, the app ensures that any image added into the WYSIWYG text editor are full width. Sometimes it's nice to have the images at their real size, especially if you're adding small images.

The problem here is that we can only have one default. This snippet changes the default so images are their regular size, rather than being forced to be full width!

/*--------- Info Page Image Auto Sizing ----------*/
.wysiwyg-content img {

/*---------- Hide banner ads everywhere but the sidemenu ----------*/

cc-banner-ad {

cc-sidebar-left-list cc-banner-ad {

Hide Banner Ads from Left Sidemenu

The below snippet hides the CC Banner Ads from just the left sidebar, so the ads are only visible in the main app page area.

/*---------- Hide banner ads from the sidemenu ----------*/
cc-sidebar-left-list cc-banner-ad {

Show mobile banner for company profiles

/*---------- Show mobile banner for company profiles----------*/
.company-detail__background-strip::before {
	content: unset!important;

/*---------- Hide Version Footer ----------*/
.version-footer {
Before and After


Hide the Picture in Picture Button

/* Hide PIP Buttons  */ cc-agenda-session-livestream-video button.vjs-picture-in-picture-control, cc-pip-button

Make Something Not Clickable

In the below example, a session with is XXXX is made no longer clickable. 

/* Make Something Not Clickable */ {
  pointer-events: none;

Edit Message on Login Screen After Failed Login Attempt

Usually when an email address isn't allowed access to a platform, there is a generic message displayed to the user informing them that they are not authorised. If you'd like to change that message to a custom one, use the below snippet:

/* Customise Login Page Failed Attempt Text */
cc-login-form > ion-card > ion-card-content > form > div.login-form__access-denied-text {
cc-login-form > ion-card > ion-card-content > form > div.login-form__access-denied-text:before {
    content:"Custom Message Here";

Add a Message to Login Screen

Want to add a little note to the login screen that's always visible? This is the snippet for you.

/* Add a Message to Login Screen */
cc-login-form form:before {
    content:"Add your custom message here!";

Allow Previously Sized Company Logos

Used the platform for a while and found the new company logo size change annoying? There's a video on our Video Guides area, plus a handy CSS Snippet below which you can copy / paste to adjust the styling on the Company Profile page.

/*Adjust size of new company logo if old sized company logos are used*/
.company-branding {

Improve Alert Popup Styling

The "popup" platform alerts appear styled quite differently to the email alert popups. The below CSS helps ensure the styling is more consistent between the two. 

/*Fix Alert Styling*/
cc-alert-list-item div.wysiwyg-content {font-size:14px;}
cc-alert-list-item div.wysiwyg-content ul {margin-block: 0px;}
cc-alert-list-item > ion-item > div > ion-label > span p,
cc-alert-list-item .wysiwyg-content p,
cc-alert-list-item .wysiwyg-content ul {margin-bottom:16px!important;}

Change Chat Label on people profiles

With this snippet you can edit the text used for the 'Chat' button on people profiles

/*-------- Chnage Chat Label ---------------*/

cc-chat-footer ion-label {
} ion-label {

cc-chat-footer ion-label:before {
} ion-label:before{

Video Library Edits

This block contains several snippets

/*---------- Video Library Background ----------*/

.vod-shell__content-container {

/*---------- Video Library Text Color  ----------*/

.vod-shell__content .featured-video__title,
.vod-shell__content .featured-video__description,
.vod-shell__content .featured-video-banner__metrics__text,
.vod-shell__content .video-card__header__title,
.vod-shell__content .video-card-group__controls__title,
.vod-shell__content .video-card__metrics__text,
.vod-shell__content .vod-section-banner__text__title,
.vod-shell__content .vod-section-banner__text__description,
.vod-shell__content .section-group__title{

/*---------- Video Library Icon Color  ----------*/

.vod-shell__content .featured-video-banner__metrics__icon,
.vod-shell__content .video-card__header__duration,
.vod-shell__content .video-card__metrics__icon {

/*---------- Video Library Hide Search Bar  ----------*/

.vod-shell__content cc-search-bar {

/*---------- Video Library Hide Views/Likes  ----------*/

.vod-shell__content .video-card__metrics,
.vod-shell__content .featured-video-banner__metrics {

Iframe In Poll

Paste this into the Custom CSS, replacing the xxx's with the session number 

/*---------- Embed into Live Poll Intermission ----------*/

.cc-session-page-xxxxxxx cc-poll-intermission, cc-poll-intermission ion-card > div {

.cc-session-page-xxxxxxx cc-poll-intermission ion-card iframe {

.cc-session-page-xxxxxxx cc-poll-intermission > div > ion-card {

.cc-session-page-xxxxxxx cc-agenda-session-poll-tab > div {

.cc-session-page-xxxxxxx .ql-video {

Paste this snippet into replacing the xxx's with the page which you would like to embed 

/*---------- Iframe for Live Poll  ----------*/

  <iframe class="ql-video" frame-border="0" allowfullscreen="allowfullscreen" src="xxxxxxxx" min-width="100%" width="100%" height="100%">

Convert Agenda Module to Posters

Just paste over the 'xxx's with the module number of the agenda you wish to convert

/*---------- Posters module ----------*/

.cc-module-xxxxxx .date-picker .swiper-buttons,
.cc-module-xxxxxx ion-footer ion-button:nth-child(1),
.cc-module-xxxxxx ion-footer .divider,
.cc-module-xxxxxx .cc-schedule-all,
.cc-module-xxxxxx .on-now-container,
.cc-module-xxxxxx cc-agenda-module-header .view-tab-bar,
.cc-module-xxxxxx .agenda-card__my-schedule {

.cc-session-page-in-agenda-xxxxxx cc-session-speakers ion-card-title,
.cc-session-page-in-agenda-xxxxxx cc-session-documents ion-card-title {

.cc-module-xxxxxx {

.cc-session-page-in-agenda-xxxxxx cc-session-speakers ion-card-title:before {
content:'Poster author';

.cc-session-page-in-agenda-xxxxxx cc-session-documents ion-card-title:before {
content:'Poster download';

@media (max-width: 1280px) {
.cc-module-xxxxxx cc-agenda-module-header div.view-selection {


White on White Fix

Please note this makes all icons and elements black

/*---------- White on White Fix -----------*/

.app__split-pane.collapsed cc-agenda-card i.material-icons {
  color: #000 !important;

cc-activity-feed-list-page * {
  color: black !important;

.agenda-card__expand-button i.material-icons {
color: black !important;

cc-activity-feed-list-page i.material-icons {
color: black !important;

cc-meeting-booking-page {
  --cc-accent-color: black !important;
  --cc-primary-color: grey !important;

cc-poll cc-rating-poll i.material-icons {
  color: black !important;
  --cc-accent-color: black !important;

.poll__option ion-button.selected {
  background: black !important;
  --background: black !important;
  color: white !important;

ion-alert * {
    color: black !important;
  --cc-accent-color: black !important;

.cc-agenda-schedule-list cc-schedule-list cc-agenda-card ion-card i.material-icons {
  color: black !important;
  --color: black !important;
  --cc-accent-color: black !important;

cc-chat-panel-footer * {
  color: black !important;

  --media-text-color: black !important;

.radio-checked {
  filter: brightness(0);


Got a Bespoke Project? Talk to Us!

Our design team will work with you to ensure that the overall design of your app supports your event goals - and gives your attendees the unique experience they're after. We've been building a custom event platforms, apps and websites for a long time and our design team loves getting their hands dirty! 

Get started with a CSS tutorial - or get in contact with us today to find out how we can help bring your brand to life with a well designed virtual platform.

Custom Design Guidelines


Important: Before reviewing custom design options, we recommend considering our included template design setup -DESIGN SETUP GUIDE

Responsive Design

Our platform is designed to reflect your brand throughout across devices. This allows you're attendees to have the same on brand solution regardless of the device they choose to access the platform from. whether your users  accessed on a full-sized desktop display, or a 4" mobile device - or something in the middle. Below is an example of the responsive design used throughout our apps to enable them to fill the screen with content, no matter how they're accessed.