The best lead generation tool for Real Estate Attorneys

Rate Calculator is the best lead generation tool for real estate attorney Websites.  It provides real-time closing cost estimates, giving attorneys the ability to capture visitor emails while reducing the number of phone calls their staff must field.  The front-end is a WordPress plugin the attorney installs on their site, the back-end and subscription management is run by a Drupal 8 site.  

The Drupal 8 site using Drupal Commerce Recurring Framework to manage the subscription.  When an attorney signs up, a Simple OAuth consumer is generated and the unique keys are presented to them.  Each plugin is authorized to be used by up to 3 domain names so it can be used for development and staging as well as the production website.

After signing up for the service, the attorney installs the WordPress plugin and connects to the service using Simple OAuth ( an optional installation service is offered ).  The plugin provides a shortcode, a widget, and a Gutenberg block that can be placed anywhere on their site.  Attorneys can customize the messaging, email template, and more so it works great with their brand and theme.  Credentials are secured using the excellent Defuse PHP Encryption library.

The Drupal 8 site serves as an endpoint and proxies requests from a 3rd party service, greatly simplifying the the SOAP requests and returning JSON.  When an end-user visits the attorney's Website and enters their information into the Rate Calculator, the request is anonymized before being sent to the Drupal site.  After the request is authenticated, it is passed to a custom endpoint so the subscription can be verified.  From there, the SOAP request is made to the third party service and response is sent back to the original WordPress site.  This all happens in a fraction of a second, providing the end-user a seamless experience.

Rate Calculator Settings

Simple WordPress plugin and Effective Marketing

The Rate Calculator WordPress plugin is super easy to set up.  With just a few settings, customers can have an effective marketing tool that provides visitors real value.

The plugin features several ways to place on any WordPress site:

  • Shortcode
  • Widget
  • Block

The Rate Calculator block has several options to set the color and behaviors.  Regardless of how Rate Calculator is added to the site, it's designed to work great with any theme.  

Rate Calculator Account Management

Drupal Drives everything

Drupal 8 is the core of the entire operation.  Customers subscribe to Rate Calculator using Drupal Commerce and the Commerce Recurring Framework.  After completing their order, an new Simple OAuth consumer is generated, which is used by the WordPress plugin to authenticate and validate an active subscription.

A custom endpoint is used to by the plugin to communicate with Drupal, and Drupal proxies API calls to the SOAP service that actually provides the calculations.  

Project Timeline

Rate Calculator WordPress plugin

WordPress plugin

The WordPress plugin needed to work well no matter how the site was configured or theme that is in use. I spent a lot of time making the public facing calculator form flexible and accessible.  Additionally, it needed to work with the WordPress block editor, with some basic configurations available for the site owner to customize the look.  

WordPress plugin security settings

Secure by default

While storing any password in a database has security risks, we took extra effort to make all of the passwords as secure as possible.  All sensitive data is encrypted with the excellent Defuse PHP Encryption library prior to being stored in the database.  We use OAuth 2 for secure communications between the plugin and the server.

Rate Calculator account management

Drupal 8 Back-end Server

Leveraging the Drupal ecosystem, including Simple OAuth and Commerce Recurring framework streamlined the creating of the API and account management operations.  All that was needed was a custom checkout pane to collect the details needed to generate the OAuth consumer, and a custom REST endpoint for managing communications.