CustomerGauge first with full API support for Net Promoter

CustomerGauge is now available with a full range of API (Application Programming Interface) methods to connect to enterprise systems, so now it’s simple to connect to ERP, CRM, BI and e-commerce systems and measure Net Promoter® Score. It is the first fully automated Net Promoter Score platform with an enterprise level API.

Using the API, CustomerGauge clients have already been able to integrate service-request systems, IVRs and other enterprise systems to contact customers and measure NPS in real-time, feeding results directly back into corporate systems.
One client uses the API to send customer details to CustomerGauge as soon as an agent hangs up the phone, and within two minutes the same customer receives an email survey to gather a score and a comment. The results of this activity have pushed response above 50%.
Another client is using the API to push customer issues directly into Salesforce.com in order to “Close the loop” with the wider organisation.
And another client is using multiple platforms to survey, including graphically based iPad systems, all based on communicating results to CustomerGauge with our secure API.

Using an iPad for a CustomerGauge survey
These CustomerGauge platform integrations are simple and quick to implement, and mean that NPS can be easily rolled out across organisations by connecting with diverse IT platforms.
Developers can start directly with our documentation. To understand more about how CustomerGauge can be integrated with other systems, contact us.
The Ins and Outs of CustomerGauge: Using our API to build out your loyalty platform (webinar)
Introduction to CustomerGauge API
Free webinar: Learn how CustomerGauge can integrate the Net Promoter® Score into your company’s systems
11 October 2011
Tuesday 11 October 2011 – 17:00 Amsterdam / 16:00 London / 10:00 New York (EST) – Register Now
In this short webinar, you will learn how CustomerGauge can be integrated with enterprise systems: CRM, e-commerce, websites, ticketing systems, and social social media using our simple to use Application Programming Interface (API).
We will show you how to get data IN to CustomerGauge using examples from e-commerce and CRM systems to trigger Net Promoter Score surveys, and then show how to get scores, comments and other information automatically OUT.
Using examples of Salesforce.com, Twitter etc we can show you how to build an automated solution using the CustomerGauge platform – we even build a sample application that you can install on your systems afterwards.
The webinar will have enough detail for developers but also technically-minded marketers should find the concepts easy to follow.
Limited places – confirm your place now
CustomerGauge to Salesforce.com Integration: Add Net Promoter Score to your contacts
CustomerGauge announces integration with Salesforce.com – now you can effectively survey contacts from Salesforce and add survey results and firefighting activities right in your database.
(view our 4 minute video on CustomerGauge to Salesforce.com® integration)
As Salesforce.com users ourselves, we have long wanted to find a way to get Net Promoter® scores and comments from our own CustomerGauge surveys into the Salesforce.com system. Two years ago it seemed a little daunting with their APEX language but with the recent addition of REST to Salesforce we now have an excellent and reliable way of doing this, using their web services interface (SOAP / REST API ).
Functionality:
- Attach a Net Promoter Score and comment from a completed CustomerGauge survey to the right record in Salesforce.com (it adds an Activity – you can see this in the video)
- Create a “Case” containing the relevant customer comment and other information in Salesforce.com so that existing CRM workflow in your system can be used (you can also see this in the video)
- Export from Salesforce.com – Using our survey “Fire-Fighting” functionality we are able to trigger Salesforce.com to export selected records to CustomerGauge automatically (more on that in a future post)
We have added some custom fields in Salesforce to show NPS.

Image from Activity record in Salesforce.com
You can see how it works on the attached video, and we also have a presentation CustomerGauge to Salesforce.com API (99).
We would be delighted to show you how it works, and help you to try it yourself by using development accounts on Salesforce.com and CustomerGauge.

CustomerGauge Internet-Connected “AnalogGauge” shows Net Promoter® Score in Real Time
CustomerGauge announce a breakthrough in real-time display of Net Promoter® Score with the stand-alone “AnalogGauge”, an internet-connected device with a moving needles showing the score for various times and segments. Building on the success of our real-time digital signage systems which utilise a plasma or large screen, the new device is designed to sit on the CEOs desk (or the desk of any member of the company’s Net Promoter team). The production model will show customer responses in real-time from CustomerGauge and Recommendi and display the overall score for a periods or segments that can be easily set on the controlling website.
Why wait for a score?
We’d like to think this shows our commitment to showing instantaneous results from our measurement systems so our clients can make adjustments in real time. Not only can clients drill into up-to-the minute comments and scores on the CustomerGauge dashboard, but can get the results displayed, tweeted or pushed into CRM systems via our APIs. We believe there is not a comparable system on the market that show feedback in this way, or offer such flexible integration options.
We are working hard to bring the product on sale in the second half of the year – it will be available to all CustomerGauge clients as a simple plug-in, and later as a display option for other measurement providers. More details on the AnalogGauge on request.
CustomerGauge Data Import Options
Getting data into CustomerGauge is simple – we cover major data formats including CSV, TXT, Excel/Google Spreadsheet XLS format or XML. Transport mechanisms inlcude email, FTP, API or in-application upload. This means that we can take data from almost every CRM system, including Salesforce.com, SAP CRM, SugarCRM, Siebel and Microsoft Dynamics. Alternatively, we can take transactional data straight from popular e-commerce systems including DigitalRiver, Magento, automating the upload so it happens in the background every day.
If that doesn’t fit, our development team have almost certainly got a plug-in that can be customised to fit your application.
When you are ready to measure Net Promoter Score we are ready to assist.
Download this graphic as a JPG or PDF.
Also, see more on the file details in this post: CustomerGauge In: B2C Data Import Formats
Format details
CustomerGauge Out: XML Comment and Net Promoter Score API
This is v1.0 of our standard CustomerGauge XML comments and Net Promoter® Score API (Application Programming Interface). We have made it as simple to use as possible for widest possible use. See also our other feed documentation on our support page.
Using the XML API
You could use this to:
- display comments on intranet or external sites
- update internal systems and dashboards
- update CRM systems with score and comment using customer number as lookup
Available Fields
We provide in the feed as standard:
- Net Promoter Score (0 – 10)
- Customer Comment
- Translated Comment
- Customer Reference Number
- Various segments (country, store, channel)
- Date of comment/Score
- Product SKU (if available)
- Useful plain-english description of feed source if re-used in other places
- Date of feed
- Link to comment detail page in CustomerGauge
Security
It is available in secure mode (default) or open (no security). We are able to simply configure it depending on frequency of update and security needs.
Standard feed is secured with User Name and Password, using CURL in PHP or similar.
URL example: http://www.c1-gauge.com/sites/RSS/xxxFeedSecure.xml
Username: myfeed
password: mypass
Using the API – PHP example
Example using PHP:
<? PHP
$ch = curl_init();
$user = ‘Acme’;
$password = ‘Acme1FeedExample’;
curl_setopt($ch, CURLOPT_URL, “http://www.c1-gauge.com/sites/RSS/AcmeFeedSecure2.xml”);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, “$user:$password”);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
$output = curl_exec($ch);
$info = curl_getinfo($ch);curl_close($ch);
echo $output;
?>
Once configured, you can test it using a testing page:
Testing page: https://www.cg-express.com/test/CurlPassword.php
API Format:
<?xml version=”1.0″ encoding=”UTF-8″ ?>
<channel>
<title>CustomerGauge Comment API</title>
<description>CustomerGauge API</description>
<link>https://www.c1-gauge.com</link><item>
<title>10</title>
<link>https://www.c1-gauge.com/sites/categorising.php?RAND=145XXXXXXX/link>
<description>The whole experience buying was easy & stress free. My headphones arrived swiftly & are comfortable to use. I am a great fan of Acme as I am still using the iron I was given as a wedding present in 1971. It has been in use daily & despite needing a couple of new flexes over the years has never once let me down. Well done Acme!</description>
<translatedComment></translatedComment>
<country>UK</country>
<channel>Public</channel>
<store>Acme Online Shop</store>
<commentDate>2010-08-06 </commentDate>
<pubDate>2010-07-20 17:27:13</pubDate>
<category>AcmeSHS390/10;</category>
<source>Testimony for customer ID 145XXXXXXX from Acme Online Shop, powered by CustomerGauge</source>
<guid>https://www.c1-gauge.com/sites/categorising.php?RAND=145XXXXXXX</guid></item>
…etc
Please contact us for details on help with setting it up and configuring.
CustomerGauge RSS Comment Feed
We provide several ways to take data out of CustomerGauge and display in Real-Time.
- RSS XML feed (described below)
- Twitter Feed
- XML API (documentation coming soon)
- Real Time Display board in browser
RSS XML Feed

The RSS feed is ideal for a simple feed of customer comments for a testimonial feed, external website or intranet application. In this format only comment, score and date is given, so it can be reasonably widely published. No customer attributable data is published (unless revealed in comment box).
For more flexible feeds we recommend our XML API feed (documentation available soon).
Configuration
The RSS feed file is generated each hour. It always shows 10 comments (the last 10 comments left, sorted by most recent). The number of comments can be adjusted on request.
Feed shows NPS Score, Comment, Date Comment Left
NPS score: <title>10</title>
Comment: <description>Great service. Thanks</description>
Date comment left: <pubDate>2010-04-13 08:04:26</pubDate>
Security
Standard feed is secured with User Name and Password. You can put in a user name/password on most readers. For automated applications (intranet feeds etc) you would use CURL at your feed reader to access.
URL example: http://www.c1-gauge.com/sites/RSS/xxxFeedSecure.xml
Username: myfeed
password: mypass
Example Feed
<rss version=”2.0″>
<channel>
<title>CustomerGauge Comment Feed</title>
<description>Intranet Comment Feed</description>
<link>https://www.cg-express.com</link>
<item>
<title>10</title>
<link>https://www.cg-express.com/sites/categorising.php?RAND=xxxxxxx</link>
<description>Great service. Thanks</description>
<pubDate>2010-04-13 08:04:26</pubDate>
<category>VODASIMO;66300</category>
<source>Comment for customer ID xxxx from xxxxxxxxx Online Shop, powered by CustomerGauge</source>
<guid>https://www.cg-express.com/sites/categorising.php?RAND=xxxxxxx</guid>
</item>
Please send comments to API@directness.net
Real-Time Customer Comments via Twitter
With Google Real-Time Search launching today, we thought it appropriate to show off the CustomerGauge Real-Time Customer Comment Feed, which works via Twitter. Ideal for customer-focused companies that like to rapidly react to feedback and issues.

It started when a client asked: “Could we put a desktop widget on the bosses desk, so that every time a new comment comes in it pops up?”. Actually we’d been thinking about this for a while, trying to find the right component.
Now we have a solution that’s super easy and flexible: we integrated CustomerGauge with Twitter. As soon as a customer makes a comment, an API connection to Twitter is made and a “Tweet” sent – and you get a real-time feed on your favourite device (PC, mobile phone etc). It is customisable, so you can filter on comments – examples: “Score 9 + 10 comments for call center staff” or “Detractors commenting in Manchester with ‘reception’ keyword”. The feed can be public (if you are proud of what your customers are saying) or private so it’s secure for selected subscribers. A link takes you to the full comment and customer details.
We would be happy to give you more details, by tweet (@adamdorrell) or old-fashioned phoning. Contact us for details.
API: DemonstratorGauge Data Download
API Documentation – DemonstatorGauge Data Download 4 December 2009 – v0.1
What this API does:
SUMMARY: The objective is to provide the correct ID numbers for Demonstrators, Products and Venues in the DemonstratorGauge field marketing system. Using an HTML request, a remote call can be made to the DemonstratorGauge database to retrieve a list of:
- Demonstrators
- Products
- Venues
It is designed to be used in conjunction with the API: DemonstratorGauge Event Upload
Detail:
A correctly formed HTTP request will deliver a file in CSV format of fields from the tables containing demonstrators, products and venues.
Restrictions:
- You are restricted to 100 API calls (total) per day.
- You can only retrieve Venue data for your specified Country
- You can only retrieve Person data for your specified Agency AND country
- You need a valid API key – please request one from API@directness.net
Using the API
To get a list of venues in your country:
http://www.d1-gauge.com/canon/API/GetInfo.php?key=xxxxxxxxx&type=VenueTo get a list of products:
http://www.d1-gauge.com/canon/API/GetInfo.php?key=xxxxxxxxx&type=ProductTo get a list of persons/demonstrators for your Agency Name:
http://www.d1-gauge.com/canon/API/GetInfo.php?key=xxxxxxxxx&type=PersonNB Replace xxxxxxxx with your API key.
Example with PHP
<?// DemonstatorGauge Data Download 4 December 2009 - v0.1url = "http://www.d1-gauge.com/canon/API/GetInfo.php?key=xxxxxxxxx&type=Product";// replace xxxxxxxxx with your API key// type=Product// type=Venue// type=Person$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);$result = curl_exec($ch);curl_close($ch);print $result;?>
Validation
A CSV (Comma Separated Variable) file can be downloaded.
Error messages:
API Key expired - please ask for a new key API key not valid - please request key with your APISupport
Please send comments to API@directness.net
API: DemonstratorGauge Event Upload
API Documentation – DemonstatorGauge Event Upload 8 December 2009 – v0.2
What this API does:
SUMMARY: Using a cURL command in a PHP file hosted on your server, you can upload multiple event information into DemonstratorGauge from a prepared XML file also hosted on your server.
Detail:
In the file clientCanon.php a cURL command uploads the XML file eventsCanon.xml to the DemonstratorGauge server.
The XML file can contain multiple events. Each event contains information on user, event, date etc. Up to 4 photos can be added. Any number of products sold or featured can be added.
Note: You must be able to enter correct IDs for the following:
- Demonstrator
- Venue
- Product
These can be retrieved from DemonstratorGauge as a user or using the API DemonstratorGauge Data Download
At this stage we do not have an API to add users or venues. These must be done manually in the system. Canon maintain the list of products manually – requests for products to be added must go to Canon.
Using the API
To use the API, upload clientCanon.php and eventsCanon.xml to your server. You will need a valid key. Requirements: PHP 5.
Insert the required information in the XML file. Then run client.php to call and upload the XML file.
On a successful upload, the system will return “X records uploaded”
Validation
Successful upload: Upon completion, the page will display two download links:
DGResultList.csv -- Displays the successfully uploaded records today DGErrorList.csv -- Displays the error(s) that occurred.
Typical result:

Example output from API
Validation – contents of successful report:

DGresultlist.csv: Successful result returning new Event IDs, and confirming Demonstrator and Venue ID
Error messages:
error1: Key Invalid error2: API key needs renewing - out of date - please contact API@directness.net to reset error3: Duplicate record(s) detected error4: Product ID(s) is unrecognizable error5: Venue ID(s) is unrecognizable error6: record(s) has Invalid Event Date error7: record(s) has invalid PersonID
Error Notes:
- error3: Duplicate record detected: If demonstratorID AND venueID AND eventDate match a previously uploaded event (for 1 event)
- error5: VenueID will be invalid if system can NOT find VenueID in the database, or system can find VenueID in the database but Venue address dows not belong to Agency’s country.
- error6: Invalid Event Date: Date of event is in the future ( EventDate > today) or incorrectly formatted
Example of Error result:

DGErrorList.csv: Shows details of any uploading errors to help debugging
XML and contents:
Event details
|
|
Mandatory? |
|
|||||||||||||
|
<EventActivity> </EventActivity>
|
|
Place all event details inside these tags. Allows you to upload multiple events at one time. |
|||||||||||||
|
<DemonstratorID> |
Yes |
Integer: The ID of the Demonstrator e.g. ‘10112’ (Adam J Dorrell) Source: Person Table. Agents can add themselves. |
|||||||||||||
|
<VenueID> |
Yes |
Integer: ID of venue. E.g. ‘8290’ (Dixons Travel Heathrow Terminal 5) Source: Venue Table. Agents can add Venues. |
|||||||||||||
|
<VenueCountry> |
Yes |
Two letter code: eg ‘DE’, ‘UK’ |
|||||||||||||
|
<SingleProductGroup> |
Yes |
Focus of the event. Text. Choose ONE from
|
|||||||||||||
|
<EventDate> |
Yes |
Date of event in YYYY-MM-DD |
|||||||||||||
|
<NumberOfHours> |
No |
Decimal: Number of hours spent on site. Eg ‘3.5’ (3 hours 30 minutes) |
|||||||||||||
|
<NumberOfContacts> |
No |
Integer: Number of contacts made on site, eg ‘34’ |
|||||||||||||
|
<Comments> |
No |
Free text description of what happened on site. Example: ‘Super Promo. Super Angebote: Cashback und 500D für 899, mit 18-200mm für 1319.-‘ Limit 1024 characters |
|||||||||||||
|
<Photo1URL> |
No |
URL. The system will retrieve the photo from a remote system. Example ‘http://images-1.redbubble.net/img/art/size:large/view:main/1072108-2-vermont-autumn.jpg’ Please no larger than 4Mb. We resize to 1600×1600 (max) so higher resolution not needed. |
|||||||||||||
|
<Photo1Caption> |
No |
Text describing photo: Example ‘Canon Booklet Info Display’ Limit 255 characters |
|||||||||||||
|
<Photo2URL> <Photo3URL> <Photo4URL> |
No |
As Photo1. You can add up to 4 photos. |
|||||||||||||
|
<Photo2Caption> <Photo3Caption> <Photo4Caption> |
No |
As <Photo1Caption>. You can add up to 4 captions. |
|||||||||||||
|
<UploadRef> |
No |
Text. You can add your own event reference. Eg “Agent444, Event56”. 40chars. |
Product section – you can add up to 100 product items focused per event
|
|
Mandatory? |
|
|
<ProductDetails> </ProductDetails> |
|
You can add Products focused in this section |
|
<ProductID> |
Yes |
Integer. Unique iD of product. Eg ‘47’ (Selphy ES1). Source: Product Table. This table maintained by Canon. |
|
<NumberOfSales> |
Yes |
Integer: Number of units sold of this product. Eg ‘23’ |
|
<FocusProduct> |
No |
String. Was this product “focused” on the day? Example ‘Yes’. Choose from ‘Yes’ or NULL |
Data: XML formatting Example
<EventActivityArray><EventActivity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <DemonstratorID xsi:type="xsd:integer">9</DemonstratorID> <VenueID xsi:type="xsd:integer" >120</VenueID> <EventDate xsi:type="xsd:string" >2009-10-01</EventDate><EventDetails><NumberOfHours xsi:type="xsd:decimal" >3.5</NumberOfHours><NumberOfContacts xsi:type="xsd:integer" >5</NumberOfContacts><Comments xsi:type="xsd:string" >The event was very busy</Comments><SingleProductGroup xsi:type="xsd:string">Video</SingleProductGroup><Photo1URL xsi:type="xsd:string" >images/1072108-2-vermont-autumn.jpg</Photo1URL><Photo1Caption xsi:type="xsd:string" >Autumn</Photo1Caption><Photo2URL xsi:type="xsd:string" ></Photo2URL><Photo2Caption xsi:type="xsd:string" ></Photo2Caption><Photo3URL xsi:type="xsd:string" ></Photo3URL><Photo3Caption xsi:type="xsd:string" ></Photo3Caption><Photo4URL xsi:type="xsd:string" ></Photo4URL><Photo4Caption xsi:type="xsd:string" ></Photo4Caption></EventDetails><ProductDetails><Product><ProductID xsi:type="xsd:integer" >5</ProductID><NumberOfSales xsi:type="xsd:integer" >6</NumberOfSales><FocusProduct xsi:type="xsd:string" >Yes</FocusProduct></Product><Product><ProductID xsi:type="xsd:integer" >7</ProductID><NumberOfSales xsi:type="xsd:integer" >6</NumberOfSales><FocusProduct xsi:type="xsd:string" >Yes</FocusProduct></Product></ProductDetails></EventActivity> </EventActivityArray>
PHP: clientCanon.php
<?php $requestPath = "eventsCanon.xml"; // Calls the file name containing the data $url = "http://www.d1-gauge.com/canon/API/my_server.php?key=a1"; // fake key - obviously! $request = file_get_contents($requestPath); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POSTFIELDS, $request); // what to post curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); $result = curl_exec($ch); curl_close($ch); print $result; ?>
Files:
Download the files here:
DemonstratorGaugeUploadAPIv1-0.zip
Support
Please send comments to API@directness.net









