close

Azure Notification Hub Pricing And Features: Scalable Mobile Push Notification Engine

Posted by Errin O'Connor on Feb, 04, 2022 10:02

The application market has been consistently flourishing ever since it began. This poses a great hurdle in the process of maintaining customer loyalty and engagement. In simple words, the users must be made aware of the latest updates and events that occur in the application. The Notification Hub by Microsoft Azure has proven to be a boon for this market which provides certain features and facilities that can help ease the life of a developer. In this blog post, we will see Azure Notification Hub pricing and features in detail.

As Microsoft is one of the biggest cloud resource providers in the market, this product has helped several developers and reduced their day-to-day troubles.

Azure Notification Hub Pricing, Features and Use cases

Azure Notification Hub Logo

The Azure Notification Hubs Pricing structure provides features that are simple and easy to use due to the scaled-out push engine that enables the user to send notifications to any platform from any backend. These features in Notification Hub are used in several scenarios which can be enumerated as follows:

  • The users can use artificial intelligence capabilities to send breaking news notifications to millions of people with low latency.
  • It can also enable sending local coupons to interested segments of users.
  • Additionally, disaster recovery Event-related notifications to individual users or a group for media, sports, finance or gaming applications.
  • The push promotional content for applications can be used to engage and market to customers the advantages of the digital world.
  • The individual business logic of organizations can also benefit by notifying the users of enterprise events regarding new work items.
  • Finally, codes for multi-factor authentication can also be sent through push notifications.
Azure notification hub benefit

Azure Notification Hub pricing structure:

Azure Notification Hub provides the user organization with the opportunity to scale on-demand with the cross-platform push Notification infrastructure which enables the user to either broadcast push notifications to millions of users at the same time or send notifications to individual users. In addition to this, the Notification Hub can be connected to any mobile device even if it is built on Azure Virtual Machines, Cloud Services, websites, and mobile services.

The pricing structure of the Notification Hub is available in three distinct pricing tiers which can be categorized as follows:

  • Free
  • Basic and
  • Standard

The base charge and quotas are applied at the namespace level. Pushes that exceed the included amounts are aggregated at the subscription level for each of the tiers. The complete pricing structure can be explained in the following manner:-

            Free           Basic         Standard
Base charge per namespaceFree$10/month$200/month
Included pushes per subscription per tier1 million10 million10 million
Additional pushes per subscription per tier( price per million pushes)Not available0-10 million pushes – Included 10+million pushes – $10-10 million pushes – Included 10-100 million pushes – $10 100+ million pushes – $2.50
Namespaces per tier100100Unlimited
Hubs per namespace100100100
Active devices per namespace5002,00,0001,00,00,000
X-plat push to individual devices
Push variables
TelemetryLimitedLimitedRich
Queryable audience(registration queries)
Scheduled push
Bulk import
Multi-tenancy
SALENoneCoveredCovered

Push Notification Service: A discussion on its challenges

Push notification

The term ‘Push Notification’ refers to a type of app for user communication in which users of mobile applications are notified about certain information, generally in a pop-up or dialogue box format on the device. The users usually opt to view or dismiss the message, while the former can be done when the mobile application that communicated the message is opened. Such app notifications are essential for consumer apps to increase application engagement and usage and for enterprise applications for communicating up-to-date information.

Moreover, under the Azure Notification Hub Pricing structure, push notifications are made to be delivered through platform-specific infrastructures which are termed Platform Notification System or PNS. These systems offer the basic push functionalities which help in delivering a message to a certain device with a provided handle and no common interface. To send a certain notification to all customers across Android, Windows, and iOS, the Developer is required to work separately with Apple Push Notification Service ( APNS), Firebaugh Cloud Messaging ( FCN), and Windows Notification Service (WNS).

Apart from the advantageous features, the process of sending event-related notifications in the form of app notifications also poses certain challenges. The PNS is quite powerful. But a major portion of the work is left for the developer to complete and implement even in common push notification scenarios. Thus, sending push notifications requires complex infrastructure which needs to be unrelated to the business logic of the applicant.

The infrastructure challenges can be enumerated in the following manner:-

  • Platform dependency – The mobile app’s backend needs complex and hard-to-maintain platform-dependent logic to send notifications to the devices within various platforms. This is because the PNSes are not unified.
  • Scale – According to the PNSes guidelines, the device tokens are required to be refreshed after every launch of an application. The backend is subjected to a large amount of traffic as the database access needs to be refreshed to keep the tokens up to date. This implies that as the number of devices increases, the final cost of managing the infrastructure is going to be massive. In addition to this, most of the PNSes do not broadcast to multiple devices which implies that continuous delivery of notifications cannot be made.
  • Routing – Although PNS provides a method of sending messages to devices, most app notifications are targeted at users or interest groups. So, the app backend contracts need to maintain a registry to associate the devices with interest groups. This in turn increases the maintenance cost of applications and the time invested into marketing the process.

Core features included in the Azure Notification Hub pricing structure:

The essential features of the Notification Hub include the following:-

  • Fast broadcasting – The push notifications engine sends millions of notifications to various platforms through services like the Google Cloud Messaging, MicrosoftPush Notification Service and others.
  • Works with all backends – The service is designed to function with all backends easily.
  • Targeting a large audience – The Dynamic Tagging feature allows the developer to target any audience of choice.
  • Localization made simple – The templates feature helps in covering multiple markets.
  • High scalability – The service is highly scalable.
core feature of Azure notification Hub

Supported platforms available:

The features under Azure Notification Hub pricing structure are supported for two kinds of platforms which can be categorized into the following:-

  • Server-side platforms and
  • Client platforms

Among the Server-side platforms that are supported by Notifications Hub .NET, Java, Nodes.js, PHP, and Python are notable. The APIs of the Notification Hub is based on REST interfaces which imply that the users can work directly with REST APIs if they intend to use different platforms for more dependency.

On the other hand, in the context of supported client platforms, push notifications are supported for iOS, Android, Windows Universal, Windows Phone, Android China (via Baidu), Xamarin iOS, and Android and Safari.

Dynamics Tagging and Templates Feature within Notification Hub: An explanation

The features included in the Azure Notification Hub pricing structure allow the user to send push notifications to any platform. This process of sending push notifications is made successful by the use of the two essential features within the product. These can be categorized as follows:-

  • Tags and
  • Templates

The term ‘tags’ refers to a feature that is designed to remember a certain interest group of the user to which the notifications are delivered.  This implies that the dynamic tagging feature is inclusive of a string value which is defined according to the requirement. For instance, an entertainment application could define tags as movies, videos, songs, and so forth. In the case of an authentication application, the user ID will be described as a tag.

On the other hand, the term ‘templates‘ implies an instruction segment that helps in enabling the format of notifications for a certain application. This provides a range of benefits which include customization of Notification, easy localization, independence of communication, and platform-dependent backend.

Meaning of Scalability in the context of Azure Notification Hubs:

The service is capable of scaling millions of mobile devices and billions of push notifications, re-architecting or shading the existing infrastructure. The service is designed to automatically handle the infrastructure required to scale the message to every active device with low latency.

Security features included in the Notification Hubs:

Azure Security

The Notification Hub is developed by Microsoft Azure, which in itself is a sign of data security and privacy. Microsoft invests about USD 1 billion annually in the field of cybersecurity, its research, and development. In addition to this 3500 security experts are dedicated to data security and privacy within the organization. Azure has far more certifications of security than any other cloud provider in the market.

EPC Group as the Azure Consultation partner

The EPC Group is one of the most reputed Azure consultation partners available in the market. The company employs a group of skilled experts that are dedicated to keeping their clients up to date with the everyday changes in the innovation of cloud computing. In addition to this, the experts are well experienced in customizing the training programs according to the organizational goals of the user company. These training programs are accompanied by round-the-clock customer support which helps the user organizations to navigate smoothly through a range of hybrid cloud workloads.

Being a gold-certified partner of Microsoft, the company has more than two decades of experience in helping its clients to navigate through the Azure Management Portal and take full advantage of scalable cloud storage.

Conclusion

In conclusion, it can be said that the Azure Notification Hub has made it simpler to push notifications across multiple platforms. This is possible due to a variety of features included within it which consist of scalability, cross-platform, security, and rich telemetry

[gravityforms id=53 title=”true” description=”true”]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_53' > <div class='gform_heading'> <h3 class="gform_title">Subscriber - Downloadables - Azure IoT 11-Scenarios</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_53' action='/azure-notification-hub-pricing-and-features-scalable-mobile-push-notification-engine/' > <div class='gform_body gform-body'><ul id='gform_fields_53' class='gform_fields top_label form_sublabel_below description_below'><li id="field_53_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_53_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/azure-notification-hub-pricing-and-features-scalable-mobile-push-notification-engine/' /></div></li><li id="field_53_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get this downloadable content <strong> for free<strong>.</p> </div></li><li id="field_53_8" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_8"><label class='gfield_label' for='input_53_8' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_8' id='input_53_8' type='text' value='' class='large' placeholder='Full Name*' aria-required="true" aria-invalid="false" /> </div></li><li id="field_53_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_2"><label class='gfield_label' for='input_53_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_53_2' type='text' value='' class='medium' placeholder='Enter Your Valid Email Address*' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_53_2" /> </div><div class='gfield_description' id='gfield_description_53_2'>Please enter your correct email address. You will receive an email to download the PDF.</div></li><li id="field_53_5" class="gfield gfield_html gfield_html_formatted field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_53' class='gform_button button' value='Subscribe &amp; Download' onclick='if(window["gf_submitting_53"]){return false;} window["gf_submitting_53"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_53"]){return false;} window["gf_submitting_53"]=true; jQuery("#gform_53").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_53' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='53' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_53' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_53' id='gform_target_page_number_53' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_53' id='gform_source_page_number_53' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_2" name="ak_js" value="18"/><script>document.getElementById( "ak_js_2" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityforms id=52 title=”true” description=”true”]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_52' > <div class='gform_heading'> <h3 class="gform_title">Subscriber - Downloadables - Top 10 tips of successfully migrate to Microsoft teams</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_52' action='/azure-notification-hub-pricing-and-features-scalable-mobile-push-notification-engine/' > <div class='gform_body gform-body'><ul id='gform_fields_52' class='gform_fields top_label form_sublabel_below description_below'><li id="field_52_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_52_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/azure-notification-hub-pricing-and-features-scalable-mobile-push-notification-engine/' /></div></li><li id="field_52_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get this downloadable content <strong> for free<strong>.</p> </div></li><li id="field_52_8" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_8"><label class='gfield_label' for='input_52_8' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_8' id='input_52_8' type='text' value='' class='large' placeholder='Full Name*' aria-required="true" aria-invalid="false" /> </div></li><li id="field_52_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_2"><label class='gfield_label' for='input_52_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_52_2' type='text' value='' class='medium' placeholder='Enter Your Valid Email Address*' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_52_2" /> </div><div class='gfield_description' id='gfield_description_52_2'>Please enter your correct email address. You will receive an email to download the PDF.</div></li><li id="field_52_5" class="gfield gfield_html gfield_html_formatted field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_52' class='gform_button button' value='Subscribe &amp; Download' onclick='if(window["gf_submitting_52"]){return false;} window["gf_submitting_52"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_52"]){return false;} window["gf_submitting_52"]=true; jQuery("#gform_52").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_52' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='52' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_52' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_52' id='gform_target_page_number_52' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_52' id='gform_source_page_number_52' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_3" name="ak_js" value="132"/><script>document.getElementById( "ak_js_3" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityforms id=51 title=”true” description=”true”]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_51' > <div class='gform_heading'> <h3 class="gform_title">Subscriber - Downloadables - Azure Sentinel Use Cases</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_51' action='/azure-notification-hub-pricing-and-features-scalable-mobile-push-notification-engine/' > <div class='gform_body gform-body'><ul id='gform_fields_51' class='gform_fields top_label form_sublabel_below description_below'><li id="field_51_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_51_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/azure-notification-hub-pricing-and-features-scalable-mobile-push-notification-engine/' /></div></li><li id="field_51_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get this downloadable content <strong> for free<strong>.</p> </div></li><li id="field_51_8" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_8"><label class='gfield_label' for='input_51_8' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_8' id='input_51_8' type='text' value='' class='large' placeholder='Full Name*' aria-required="true" aria-invalid="false" /> </div></li><li id="field_51_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_2"><label class='gfield_label' for='input_51_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_51_2' type='text' value='' class='medium' placeholder='Enter Your Valid Email Address*' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_51_2" /> </div><div class='gfield_description' id='gfield_description_51_2'>Please enter your correct email address. You will receive an email to download the PDF.</div></li><li id="field_51_5" class="gfield gfield_html gfield_html_formatted field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_51' class='gform_button button' value='Subscribe &amp; Download' onclick='if(window["gf_submitting_51"]){return false;} window["gf_submitting_51"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_51"]){return false;} window["gf_submitting_51"]=true; jQuery("#gform_51").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_51' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='51' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_51' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_51' id='gform_target_page_number_51' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_51' id='gform_source_page_number_51' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_4" name="ak_js" value="2"/><script>document.getElementById( "ak_js_4" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityforms id=50 title=”true” description=”true”]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_50' > <div class='gform_heading'> <h3 class="gform_title">Subscriber - Downloadables - Understand Azure Digital Twins</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_50' action='/azure-notification-hub-pricing-and-features-scalable-mobile-push-notification-engine/' > <div class='gform_body gform-body'><ul id='gform_fields_50' class='gform_fields top_label form_sublabel_below description_below'><li id="field_50_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_50_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/azure-notification-hub-pricing-and-features-scalable-mobile-push-notification-engine/' /></div></li><li id="field_50_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get this downloadable content <strong> for free<strong>.</p> </div></li><li id="field_50_8" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_8"><label class='gfield_label' for='input_50_8' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_8' id='input_50_8' type='text' value='' class='large' placeholder='Full Name*' aria-required="true" aria-invalid="false" /> </div></li><li id="field_50_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_2"><label class='gfield_label' for='input_50_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_50_2' type='text' value='' class='medium' placeholder='Enter Your Valid Email Address*' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_50_2" /> </div><div class='gfield_description' id='gfield_description_50_2'>Please enter your correct email address. You will receive an email to download the PDF.</div></li><li id="field_50_5" class="gfield gfield_html gfield_html_formatted field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_50' class='gform_button button' value='Subscribe &amp; Download' onclick='if(window["gf_submitting_50"]){return false;} window["gf_submitting_50"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_50"]){return false;} window["gf_submitting_50"]=true; jQuery("#gform_50").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_50' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='50' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_50' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_50' id='gform_target_page_number_50' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_50' id='gform_source_page_number_50' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_5" name="ak_js" value="164"/><script>document.getElementById( "ak_js_5" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityform id="43" title="true" description="false" ajax="true"]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_43' ><div id='gf_43' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <h3 class="gform_title">Subscriber - Powerbi e-book</h3> </div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_43' id='gform_43' action='/azure-notification-hub-pricing-and-features-scalable-mobile-push-notification-engine/#gf_43' > <div class='gform_body gform-body'><ul id='gform_fields_43' class='gform_fields top_label form_sublabel_below description_below'><li id="field_43_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_43_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/azure-notification-hub-pricing-and-features-scalable-mobile-push-notification-engine/' /></div></li><li id="field_43_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get the first three chapters of the eBook for <strong>free<strong>.</p> </div></li><li id="field_43_6" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_6"><label class='gfield_label gfield_label_before_complex' >Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name' id='input_43_6'> <span id='input_43_6_3_container' class='name_first' > <input type='text' name='input_6.3' id='input_43_6_3' value='' aria-required='true' placeholder='First Name' /> <label for='input_43_6_3' >First</label> </span> <span id='input_43_6_6_container' class='name_last' > <input type='text' name='input_6.6' id='input_43_6_6' value='' aria-required='true' placeholder='Last Name' /> <label for='input_43_6_6' >Last</label> </span> </div></li><li id="field_43_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_2"><label class='gfield_label' for='input_43_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_43_2' type='text' value='' class='medium' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_43_2" /> </div><div class='gfield_description' id='gfield_description_43_2'>Please enter your correct email address. You will receive an email to download the eBook.</div></li><li id="field_43_3" class="gfield g-captcha field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_3"><label class='gfield_label screen-reader-text' for='input_43_3' ></label><div id='input_43_3' class='ginput_container ginput_recaptcha' data-sitekey='6LdQ388UAAAAAJaahWs7D_jWzeQhUZW6-VNwWfaU' data-theme='light' data-tabindex='0' data-badge=''></div></li><li id="field_43_5" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_43' class='gform_button button' value='Download Now' onclick='if(window["gf_submitting_43"]){return false;} window["gf_submitting_43"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_43"]){return false;} window["gf_submitting_43"]=true; jQuery("#gform_43").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=43&amp;title=1&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_43' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='43' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_43' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_43' id='gform_target_page_number_43' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_43' id='gform_source_page_number_43' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_6" name="ak_js" value="69"/><script>document.getElementById( "ak_js_6" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_43' id='gform_ajax_frame_43' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type="text/javascript"> gform.initializeOnLoaded( function() {gformInitSpinner( 43, 'https://www.epcgroup.net/wp-content/uploads/2021/11/ezgif.com-gif-maker.gif' );jQuery('#gform_ajax_frame_43').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_43');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_43').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_43').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_43').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_43').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_43').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_43').val();gformInitSpinner( 43, 'https://www.epcgroup.net/wp-content/uploads/2021/11/ezgif.com-gif-maker.gif' );jQuery(document).trigger('gform_page_loaded', [43, current_page]);window['gf_submitting_43'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_43').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_43').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [43]);window['gf_submitting_43'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_43').text());}, 50);}else{jQuery('#gform_43').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [43, current_page]);} );} ); </script>
[gravityforms id=41 title=”true” description=”false”]
<div class='gf_browser_chrome gform_wrapper exit_intent_popup_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_41' > <div class='gform_heading'> <h3 class="gform_title">Exit Intent</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_41' class='exit_intent_popup gform_legacy_markup' action='/azure-notification-hub-pricing-and-features-scalable-mobile-push-notification-engine/' > <div class='gform_body gform-body'><ul id='gform_fields_41' class='gform_fields top_label form_sublabel_below description_below'><li id="field_41_1" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_1"><div class='ginput_container ginput_container_text'><input name='input_1' id='input_41_1' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/azure-notification-hub-pricing-and-features-scalable-mobile-push-notification-engine/' /></div></li><li id="field_41_11" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_11"><div class='ginput_container ginput_container_text'><input name='input_11' id='input_41_11' type='hidden' class='gform_hidden' aria-invalid="false" value='ddd01b75-d4fc-ea11-a816-000d3a591fb8' /></div></li><li id="field_41_12" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_12"><div class='ginput_container ginput_container_text'><input name='input_12' id='input_41_12' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_41_13" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_13"><div class='ginput_container ginput_container_text'><input name='input_13' id='input_41_13' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_41_9" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_9"><label class='gfield_label' for='input_41_9' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_9' id='input_41_9' type='text' value='' class='medium' placeholder='Full Name' aria-required="true" aria-invalid="false" /> </div></li><li id="field_41_6" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_6"><label class='gfield_label' for='input_41_6' >Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_6' id='input_41_6' type='text' value='' class='medium' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></li><li id="field_41_7" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_7"><label class='gfield_label' for='input_41_7' >Phone<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_phone'><input name='input_7' id='input_41_7' type='text' value='' class='medium' placeholder='Phone Number' aria-required="true" aria-invalid="false" /></div></li><li id="field_41_10" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_10"><label class='gfield_label' for='input_41_10' >Company Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_10' id='input_41_10' type='text' value='' class='medium' placeholder='Company Name' aria-required="true" aria-invalid="false" /> </div></li><li id="field_41_8" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_8"><label class='gfield_label' for='input_41_8' >Message<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_textarea'><textarea name='input_8' id='input_41_8' class='textarea medium' placeholder='Type your message here...' aria-required="true" aria-invalid="false" rows='10' cols='50'></textarea></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_41' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_41"]){return false;} window["gf_submitting_41"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_41"]){return false;} window["gf_submitting_41"]=true; jQuery("#gform_41").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_41' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='41' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_41' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_41' id='gform_target_page_number_41' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_41' id='gform_source_page_number_41' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_7" name="ak_js" value="40"/><script>document.getElementById( "ak_js_7" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>