DIY Integrations II: Updating Contact Field Information With Direct Update

by Lucas Weber on September 29, 2009 · 5 comments

updates are good!

Integrating your website or database with a third party application (like Bronto) can be a pain. It can take hours of expensive development work, and requires in-depth planning and forethought.  Luckily, if you have web programming experience, you can get some basic integrations up and running in a relatively short amount of time.

Our DIY Integrations series will explore how to set up these mini-integrations. In this episode, we’ll be talking about a feature called Direct Update. We won’t be doing a step-by-step walk through here, as every implementation will be a bit different. Rather, this post is more of an overview describing what the feature is and general information on how to implement it.

Direct Update

The Direct Update feature enables you to update information in a contact’s fields whenever they visit a page on your website.  You can add or subtract from numerical values, as well as set any field to a specific value.  This allows you to easily keep contact information up to date without manually importing or updating data.  This feature adds data to your account by calling a specially formatted image tag that contains account-specific parameters.

To get started using Direct Update, you’ll need to enable it in your account. To do this, just go to the Home tab -> Settings -> Analytics.   Once you are on the Analytics Settings page, just click the checkbox next to Direct Update, and then click Save at the bottom of the page.

checkbox

Fields

In order to specify a field to update, you will need to use the exact spelling of that field as you specified it within the application. You can see a listing of all your contact fields by going to Contacts->Fields. Any field can be updated with Direct Update, but some fields only support certain operations.

Operations And Values

There are 4 different operations: set, add, append, and sub ( which is short for subtract). add and sub are only supported by the numerical field types. append allows you to track multiple values without having to create a large number of individual fields. The listing below gives more information about working with the different types of fields. Be sure to use only lower case letters for the operators.

  • Number, decimal, and currency fields support the operations of set, add, and sub. The value provided may be a positive or negative number. Decimal values provided operations on a Number field will be rounded accordingly.
  • Date fields support the set operator. The value must be a date specified in the format you have designated for date fields on the Formatting page located at Home->Settings->Formatting.
  • Text and Text Area fields only support the set and append operator. The text value that is passed in will need to be url escaped if it contains any special characters such as ?, &, =, or %.
  • Checkbox fields only support set with a value of 0 for unchecked and 1 for checked.
  • Radio button and pull down fields only support set. The value provided must exactly match one of the existing options for a given field – this means they must have the same spelling, case, and any included spaces.

Possible Uses

Product Interest

This example updates a field whenever a contact visits the product page for a specific high value product. This allows us to send an email to people who have checked out a product within the last month:

field1=productxvisit,set,05/12/2008

Purchase Details

Below you can see an example that is used on a purchase confirmation page. Here the contact has made a purchase totaling 129.23, so we add that to the field lifetimevalue. We also update the field lastpurchaseddate to the date of purchase. This one update will give us the ability to segment our contacts based on dollar amount purchased, as well as recency of purchase – fantastic segments for very targeted mailings!

field1=lifetimevalue,add,129.23&field2=lastpurchaseddate,set,12/15/2007

Deconstructing the Direct Update snippet

Below is an example of a possible Direct Update code snippet:

<img height="0" width="0" border="0" src="http://example.com/ public/?q=direct_update amp;fn=Public_DirectUpdateForm&id=IDSTRING&field1=lifetimevalue,add,129.23 amp;field2=lastpurchasedate,set,09/15/2009">

The first part of the URL is given to you as part of the code snippet you got from the Direct Update section on the Analytics page. This is unique to each account and allows the application to identify your account. The next few parameters, q, fn, and id allow us to know how to process the data that is to follow, as well as identify your account. The last bit, field1=lifetimevalue,add,129.23&field2=lastpurchasedate,set,12/15/2007 is the actual string that updates the fields. As you can see, all you need to do is define your update pieces and tack them onto the URL provided on the Analytics page.

So that is a simple breakdown on how to maintain up to date contact field information without a lengthy integration process. This method is definitely not for everyone, and does require some experience with web programming. However, with the right know how, Direct Update is a great way to get integrated without fussing with an API. Are you successfully using the Direct Update feature? Let us know in the comments!

Lucas Weber
Bronto Client Services

Related posts:

  1. Abandonment Issues? Use Direct Update to Get Over Them! In my last post, DIY Integrations II: Direct Update, I...
  2. Personalize Your Contacts, Storing Field Data With The API OK, so your integration is running. You’re adding contacts at...
  3. Adding Contacts With Direct Add This post was originally published several months ago, but has...

{ 1 trackback }

Using Direct Update In Bronto
10.27.09 at 1:31 pm

{ 4 comments… read them below or add one }

1 Olivier Travers 07.05.10 at 4:46 pm

I was trying to get this to work (we’ve been using the gif technique for years to create new contacts) but couldn’t, until I read this in your entry about Abandonment Issues:

“One small caveat to this post is that the whole thing will only work if a couple of conditions are met. First, the contact must have clicked on a link in an email sent via Bronto, which will open a tracking cookie on their computer. The cookie will allow the Direct Add code to work. Second, they must have cookies enabled in their web browser.”

In my opinion the first point is not a “small caveat” and it would have been useful information to feature in this entry and in Bronto’s documentation (/mail/help/help_view/?k=mail:home:api_tracking:tracking_direct_update#help_section28). I was really scratching my head until I read the other post.

It’s a weird limitation if you ask me. Here’s what I’m trying to accomplish:

1. Ask for just the email field and create the contact in Bronto via gif (so far so good)

2. Under the confirmation message we’re showing on the next page, ask subscribers to fill in a few extra optional fields to know them better. This way we can qualify (part of) our list without getting in the way of list growth. That’s where I’d like to use Direct Update but apparently I can’t.

Question: what happens when you do a Direct Add on an email address already in Bronto (for the same list)?

2 Lucas Weber 07.09.10 at 3:55 pm

Olivier,

Rather than using DirectUpdate, you should be able to use two DirectAdd strings to accomplish this. One on the first thank you page (or the page with the follow-up form), and the other on the final thank you page. When you use the DirectAdd string on a contact that already exists in the Bronto database, it will simply update that contact with the newest information applied to it.

Hopefully that clarifies the situation. Please feel free to contact support with any further questions on implementing this.

Thanks!
Lucas

3 Olivier Travers 07.15.10 at 10:44 am

Thanks Lucas, using two Direct Adds is what I got around to do once I realized Direct Update can’t take a listid as a parameter. I’m almost ready to put our new enhanced form in production and quite excited about it. We’re now measuring in Google Analytics when people submit empty or bad emails, there are so many ways to improve these things!

As a piece of additional feedback, let me say that the content on Brontoversity is really helpful but also highlights some of the shortcomings of the help files in Bronto itself. The more practical and thorough approach that you have here should make it back into Help, or at least link from the latter to the former. I end up googling that stuff after scratching my head reading the official help. If that can make you feel any better, it’s the exact same thing with Google Analytics.

4 John Gunther 07.15.10 at 2:51 pm

Olivier,
First off, thank you for your comments and your kind words in regards to the content contained on Brontoveristy. In addition to serving as editor for Brontoversity, I am also the maintainer of all of the help documentation available within the Bronto application. I totally agree with your sentiment about the content in Brontoversity and the content in the application help needing to be more closely integrated. I can assure that I am hard at work researching the most efficient ways to make this a reality, but in the mean time, keeping the content synced between the two systems is a manual process. I will work to update the Direct Add and Direct Update help documentation in the application to incorporate some of the more practical explanations contained in Lucas’s post. If you happen to see any other places in the help documentation that you feel are not quite explaining things effectively enough, please send an email to help-suggestions@bronto.com. All emails sent to this address go directly to me and I use them to spot areas in the documentation that need clarification and improvement. I place a big emphasis on feedback from our customers and am always open to suggestions. After all, the documentation is there to help our customers out, and it’s my job to make sure it does that in the most efficient and effective way possible. Thanks again for your feedback.

John Gunther
Technical Writer/eLearning Specialist at Bronto
Editor of Brontoversity

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Previous post:

Next post: