Passing the EmailID to Ticketmaster So You Can Do Indirect Email Sales Reporting with Eloqua - Arena

Highlight the image/text and use the link insert tool to insert the redirect link, including the brand static parameter if you use this (ours is brand=Palace )  - into the Code and add thestring below after the link ID.  In the example below CFC_PAL is our came from code prefix that TM has mapped to us.  Please note at this time, there is a 24 character limit in Archtics' Sales Source field and it will automatically include the prefix T-INT/ when it comes through  (i.e. T-INT/CFC_PAL_XXXXX).  I recommend you keep your came from code prefix (i.e. CFC_PAL) to 9 characters or less to ensure your entire came from code populates back into Archtics and through the data card feed.  If your prefix is longer than this, you should be able to reach out to your local TM rep to get them to provide you with a shorter code to use  (ours was originally CFC_PALACE.)         &camefrom=CFC_Pal_<SPAN>elqEmailDefinitionID</SPAN>Save--See below for what the code looks like in the source field.Came From Code Test Once you click on the event link within the email.  It should appear as example below.)


How to set copy count for recipient using data in extract file (used to used DMG.GCPY.recipname)

Currently using Documaker 12.2  I would like to pass a copy count to tell documaker how many copies of the entire "document set" (not one particular form) to print for a specific recipient.  For example, when we print an agent's copy of a declaration, some agents do not want a copy, some want one copy and some want 2 copies.  I used to do this using the DMG.GCPY.AGT and I would pass a 0/1/2 and the system would produce 0/1/2 copies of the agent dec.  When our setrecip.dat and form.dat got converted to studio, it still seemed to work but now I am setting up a new application and I can't get this functionality to work. any help would be appreciated! Looks like there are numerous places where the recipient is selected....- on the FRM, for each section that makes up the FRM, I can specify 1 copy, 2 copies, 3 copies, eligible and not eligible     what is the difference between the 1 copy and eligible?- on the Form List, every recip that is valid for the form shows up under the recipients in the trigger option.  Some of these are "checked off" (ticked) some are not.  What does that checking these recipients off do????- in my afgjob.jdt I have the following that was left from our old 11.3 version     /* The following line controls how many copies the agent group gets.  Valid options are 0, 1, or */     /* 2.  In order for this to work, the setrcptb.dat must be updated to include AGT(G) on the */     /* forms which are included in the agent's group.  If tag DMG.GCPY.AGT is not found in the */     /* extract file a warning msg is printed and the copy count for AGT is set to 1 */      ;Ext2GVM;;45,DMG.GCPY.AGT 79,1,AGT,S;     ;Ext2GVM;;45,DMG.GCPY.HOM 79,1,HOM,S;      ;Ext2GVM;;45,DMG.GCPY.MRT 79,1,MRT,S; When we converted everything to studio this copy count process worked fine.  Now that I am creating a new application in studio I cant seem to duplicate the conditions to allow 0/1/2 copies of a recipient to be printed.  Thanks in advance for any help that you can give!
Recipients can be assigned counts at different levels mostly to accommodate people that have defaults without triggers  - aka transactions created manually in the Workstation (PPS). When you are using triggering, then you probably just need to set your section recipients to be "eligible" within the form. The standard trigger then is where you can select to use your GVM value - as you describe above - except that the GVM name is expected to match your actual recipient name. In my case, the GVM would be named "COMPANY" to match the recipient "COMPANY". Since you appear to have been around for a while, what might be catching you is that the "manual" trigger does not allow that 'G' definition that you could force in the old separate trigger file. In Studio the manual trigger count is assumed a number. When you imported your old setup, those 'G' values are still being honored because they have not been modified. At such time that you actually go edit one of those triggers on the form, it will revert to a number as Studio expects. *sorry*. (So you could still go edit the FOR file manually, but that would get old. If you are using "manual" triggers and not the standard DAL type triggers, you still have one other possibility. Have the manual trigger assign 1 to get the items triggered. Then use a PostTransactionDal rule to call a script that assigns the applicable GVM count to the applicable recipient. For example, something as simple as this: SetRecip( "AGENT", GVM("DMG.GCPY.AGT"), , , "*")SetRecip( "HOME", GVM("DMG.GCPY.HOM"), , , "*")SetRecip( "MORT", GVM("DMG.GCPY.MRT"), , , "*") By omitting the section and form names and only specifying asterisk "*" at the group level, this essentially says: "Set all occurrences of the specified recipient to the count specified in the GVM throughout the entire group of forms and sections. So the manual triggers determined what was included or excluded and then this follow up script will reassign a new number to all the recipients based upon your GVM. Now you could get a little more efficient and possibly check if the GVM is simply set to 1. In that case, there would be no reason to cause the function to traverse through the entire form set looking for a recipient only to set the same value you already had. #gvar = GVM("DMG.GCPY.AGT");if (#gvar != 1)     SetRecip( "AGENT", #gvar, , , "*")end#gvar = GVM("DMG.GCPY.HOM")if (#gvar != 1)     SetRecip( "HOME",#gvar, , , "*")end#gvar = GVM("DMG.GCPY.MRT");if (#gvar != 1)     SetRecip( "MORT", #gvar, , , "*")end Hopefully that makes sense. Your actual recipient names may vary. 
Why do I even try to find a solution to my issues when you have all of that information at your fingertips!!! ;-)  (Actually I learn a ton by frustrating myself first and then posting a question second)  Thanks so much for the explanation of what was going on with the converted data and the suggestions on how to resolve it.  I used the POSTTRANSDAL as you suggested and work like a charm!  I even got rid of some pesky groups that always showed up in my Manual group as well. Many thanks!!!  This "Documaker Community" is so very helpful. One last outstanding question....what does ticking the recipient boxes on the manual trigger in the formslist do? Till next time!
A manual trigger assigns the same count to only those recipients you check. If you need different counts, you need multiple triggers. The standard (Dal) triggers can assign different counts to your desired recipients on a single condition. Glad I could help.

BUG: Web Data Lookups Sample Scripts

The sample scripts provided by Eloqua when a new Web data lookup is made has a bug in it for data cards. For those of us that usually do this using the contact table instead, we are used to seeing the elqDLLookup have open and closed <C_EmailAddress>; however for Data Cards, the open and closed tag is <Email_Address1>. It took quite a bit of trial and error to figure this out based on the sample scripts provided. The bug/error is in bold and red below. <SCRIPT TYPE='text/javascript' LANGUAGE='JavaScript'><!--//var elqPPS = '50';var elqDLKey = escape('742d54bf0df04522bb6daea4859000000000000');var elqDLLookup = '\x3cEmail_Address1\x3eEnter_Email Address_here\x3c\x2fEmail_Address1\x3e';//--></SCRIPT> this should actually be the following code because the "\x3c\x2f" is poorly rendered brackets: <SCRIPT TYPE='text/javascript' LANGUAGE='JavaScript'><!--// var elqPPS = '50'; var elqDLKey = escape('742d54bf0df04522bb6daea4859000000000000');var elqDLLookup = '<Email_Address1>Enter_Email Address_here<Email_Address1>'; //--></SCRIPT> Also, the sample script that actually prints the fields that exisit on the table (or in this case data card) has the fields exist in a function, but doesn't supply a call to print that function, so those that aren't javascript inclined would think that the script is not working. Example: <SCRIPT TYPE='text/javascript' LANGUAGE='JavaScript'><!--//function SetElqContent(){    if (this.GetElqContentPersonalizationValue){          document.write('<p><b>Email Address:</b>');        document.write(GetElqContentPersonalizationValue('Email_Address1'));         document.write('<p><b>Virtual Try It Password:</b>');        document.write(GetElqContentPersonalizationValue('Password1'));         document.write('<p><b>Is On Waiting List:</b>');        document.write(GetElqContentPersonalizationValue('IsOnWaitingList'));     } else {        document.write('<p><b>Personalization functions not found</b><p>');    }}//--></SCRIPT>
I'm using Firefox 3.6.12
Nick,Did you post this in Customer Central and create a case? That's where the Support folks will see it more quickly...Thanks,Heather
Good call. I'll link support to this thread.
Hi Nick The variable name for Email address is actually not constant in the same way as it is for doing a lookup on the contact table.  Since datacards are custom objects you can name the email field whatever you like (unlike on contacts where it is a defined system field and therefore always has the same name) therefore the field merge name in your html <Email_Address1> will correspond to the name of the variable in your datacard set.  So on one datacard lookup it might be "Email" and on another one it might be "Email Address", depending on how the datacard variables were named when created. That is why copying scripts for datacard lookups isn't a great idea as the variable names might be different (unlike contacts lookups). When creating a datacard datalookup it allows you to pick the field you will be matching on, so it will place the correct variable name in the script when generated.   So you need to create a new datalookup from within eloqua each time you want to use a datalookup. I have attached all this information in the case you generated as well. Best Regards,Dave Seaton
Awesome response, I had no idea the field wasn't a constant like with contact lookup.
No need to create a case --- I actually reported this bug back in early November.Here is the case #: 00105160  and Bug Reference: EC-11245
Thanks Dave

ML Formatt for syncAction.destination in BUILk Import of Status for AppCloud?

How do I translate the URL Parameter received from Eloqua's Notification(or create/copy)call to the syncAction.destination field for an AppCloud Decision? I am trying to perform a BULK import action of setStatus for an AppCloud Decision.In the documentation it shows this:"destination" : "{{DecisionInstance(123)}}", Problem is this tell me little so here is what I assumed.123 = {InstanceId}      (from url template parameters)(example:6dc71bc0-8887-4768-a026-7206017753n2) So I tried:"{{DecisionInstance(6dc71bc0-8887-4768-a026-7206017753e2)}}"This failed I thought becuase I needed [ ] instead of  ( )"{{DecisionInstance[6dc71bc0-8887-4768-a026-7206017753e2]}}"I figured if its a direct GUID then why do I need an ML statement?"6dc71bc0-8887-4768-a026-7206017753e2"Failed as well and the error specifically asks for an ML Statement?
Hi Scott, Proper syntax is {{DecisionInstance(<instance_id>)}} (with parentheses around the ID).  The instance ID cannot contain dashes ( - ). Hope this helps,Chris
What is the <instance_id> replaced with? in relation the URL Parameters see: Using a Templated URLBecause if you say we cant use dashes that contradicts what I know because the {InstanceId} returns a value with Dashes? So if I am going to update an AppCloud Decision Step in a campaign what is the Syntax, in relation to the URL Parameters Eloqua sends me?Which one of these do I use for referencing the DecisionStep in the destination field of my import. This is the data Eloqua gives me, so now I need to know how to reference the DecsionStep when I submit my BULK Upload to update status.The documentation seems to have a gap in how to do this. {SiteId}: the GUID-based ID that identifies the Eloqua instance where the App is installed{SiteName}: the name of the Eloqua instance where the App is installed{InstanceId}: the GUID-based ID that identifies an instance of the service{InstallId}: the ID of the installation of the App that the service is being called forr{AssetId}: The ID of the containing/referencing asset (if there is one){AssetName}: the name of the containing/referencing asset (if there is one){UserId}: the ID of the user that triggered the call (if there is one){UserName}: the name of the user that triggered the call (if there is one){UserCulture}: the culture (e.g. en-US for English -US, or fr-CA for French - Canada ) of the user that triggered the call (if there is one)
The instance ID is the ID of the instantiated app.  The dashes should be striped out of the id received from the notification.
OK It worked!! It would be really nice if Eloqua Provided GUIDs in the format it also can consume them, or may be helping me understand the benefit of having this seeming contradiction would be greatly appreciated. Bare minimum I think this needs to be documented, that you must strip slashes. Thank YOU!!!!! Very fast response, U ROCK! Scott
Actually,This is still not working. I am sure it is me but now it says that the object does not exist. I thought I just made a mistake and that could still be the case but I have tried several times and recreated a new campaign and new step.This is my error.{"failures":[{"field":"destination","stackTrace":[{"field":"syncActions"}],"value":"{{DecisionInstance(6dc71bc088874768a026720601f750e2)}}","constraint":"Must be a reference to an existing object."}]}
Please share your entire import definition.
{"name":"TestNo - 2014-08-13 19:13:45","fields":{"contactID":"{{Contact.Id}}","emailAddress":"{{Contact.Field(C_EmailAddress)}}"},"identifierFieldName":"emailAddress","syncActions":{"destination":"{{DecisionInstance(6dc71bc088874768a0267206017750e2)}}","action":"setStatus","status":"yes"},"updateRule":"always","isSyncTriggeredOnImport":true,"isUpdatingMultipleMatchedRecord":false}Response"failures":[{"field":"destination","stackTrace":[{"field":"syncActions"}],"value":"{{DecisionInstance(6dc71bc088874768a0267206017750e2)}}","constraint":"Must be a reference to an existing object."}]}{InstanceId} from the URL6dc71bc0-8887-4768-a026-7206017750e2I even get the same GUID when I click on the Config URL
Thanks by the way. HUGE HELP!!!I have a deadline to finish this Proof of Concept by tomorrow am, this is the last piece I need to get working.  The end Result is I need to use URL Template Parameter {InstanceId} for the 123 but I need to strip the Dashes first.Make sure I am not using {InstallId}    Scott
It looks ok from here.  Can you try instantiating the decision (will generate a new instance id)?
You can remove from your import definition, it is not being used as the identifier and therefore no imported.  That may actually fix the issue you are seeing, as well.
I tried Everything I can humanly think of!!!If you think about it Eloqua needs to distinguish between a Decision Step in one campaign vs the other and {InstanceID} is the same for each decision step. So when I reference them I do not see how InstanceID alone is all that is needed. {{Asset[22].DecisionInstance(6dc71bc088874768a026720c01775ce2)}}{{Campaign[22].DecisionInstance(6dc71bc088874768a02c720601775ce2)}}{{Campaign[22].DecisionInstance[6dc71bc088874768a02c720601775ce2]}}{{Campaign[22].DecisionInstance[6dc71bc088874768a02c720601775ce2].Id}}
Instance ID is unique for every instantiated app.  I.e., there should never be the same instance ID for different decision steps regardless of whether they are in the same or different campaigns.  What is the full notification URL being used as configured in the service?
That was IT!!!I had somehow copied InstallID and it looks so similar I kept missing this mistake each time I looked at it.Sorry new API I was worried it was a mistake in the documentation.  THANK YOU THANK YOU!

Data lookups to two different entities

I need to create two data lookups on the same page.  The first will use the Visitor GUID to retrieve the user's email address from their visitor record, and then that email address will be used to make a second and subsequent lookup to a CDO record. We have these two parts working separately but I need some help in combining the two. From what I have learned there are a number of code areas that we would need: Tracking Script, GUID Load, SetElqContent function, Define content area, Lookup Call.   My first impression is that we can use the same SetElqContent function for both Visitor and CDO records and that we should force a wait on the second lookup until the first [email address] is retrieved.Is this the right way?  Have looked around Topliners but to no avail. Thanks, Alan, 
DataLookups - eloqua-tracking - eloqua tracking jquery plugin - Google Project Hosting Here's an example, but it uses a jQuery plugin vs. the Eloqua elqCfg.js functions.
Thanks Ben, but I still don't see how to do sequential lookups, first from the visitor record to retrieve the email and then from the CDO to retrieve the data?
In the example under "Cookie Lookup", the 2 lines that start with "elqTracker.getData({..." are the lookups.  It does almost the same thing you are trying to do:1. A lookup to the visitor record2. A lookup to the contact record (vs. to a CDO in your case), using the returned email address from the first lookup (GetElqContentPersonalizationValue("V_ElqEmailAddress")) Where it says "//do all the prepopulation stuff", that's when you have access to all the contact data (CDO in your case) and you can use GetElqContentPersonalizationValue() with the CDO fields. The elqTracker.getData function takes 3 parameters:1. key: This is the data lookup key - the long string2. lookup: This is the lookup criteria, "" for visitor lookups or something like "<C_EmailAddress></C_EmailAddress>" if you're querying by email3. success: This is the function that runs when the lookup has completed, where you can use the GetElqContentPersonalizationValue() function Cheers,Ben
Got it.  Thanks Ben.Let me try this and I'll report back.RegardsAlan
Hi Ben, My Contact and Visitor Data Look up is not working. Can you guide me in right direction? : Thanks Faizal Reza
Ben, Problem has been fixed. Now say i am using email address in query string. I want yo prepoulate all the information on form. How will i achieve this
Ben, Can you address how to get more than one result. It seems that Data lookups only return the first result. Is there any way to tell it to go to the next result? I guess what I am asking is, can you get it to return an array of results in one Lookup? Jim
Hey Ben,  So i'm trying to use the lookup with the following code... (im probably doing it completely wrong):  elqTracker.getData({key: "Data-Lookup-Key", lookup: "<UniqueID1>UniqueID</UniqueID1>", success: function() {                  document.getElementById("field14").value=GetElqContentPersonalizationValue('LPTitle1'); }});   when the code is executed I get an error: "elqTracker is not defined" thoughts?
The data lookups will only return one result last I checked..
I think you are probably just missing a line to create the elqTracker object first: var elqTracker = new jQuery.elq(123);where 123 would be your eloqua site id.
ben.griffith and others, I am very confused by Datalookup posts. Some recommend that I should have Visitor lookup and then contact lookup, however in other cases, I've read that Visitor lookup will suffice. I am trying to do these three things and I've noted what I expect to do to accomplish each. It would help tremendously if someone can validate the informationEloqua tracking- basic Eloqua tracking scriptEloqua form submitting- form post actionEloqua Data Lookup- Use DLkey to get contact fields from Eloqua contact tableForm pre-populate- Use values from contact table to pre-populate formWe are using first party cookies. Am I missing something? where can I find best documentation on first party cookie tracking and datalook up?  .
Hi Avnita, For the lookups portion, you need to use a combo of Visitor and Contact lookups. See this post for intructions: DLPrepop: Visitor Cookie Data Lookup + Contact Data Lookup + Form Checkbox Prepop (built on top of Eloqua Asynchronous …

Merge field for Eloqua ID

I want to be able to use the numeric part of a contact's Eloqua ID in an email merge field.For example when someone registers, Eloqua assigns them an ID like : CIDCM000000023336 I want the welcome email to pass the number 23336 as part of a URL  something like : ..but I can't figure out how to access this part of the ID.  Using the standard Eloqua Contact ID field as a merge fields returns the whole 'CIDCM000000023336'.  Has anyone managed to get the numeric ID in a merge field, or strip out the leading CIDCM00.... part ?  (Of course the numeric part is variable length 1, 2, 3 ... 6 digits long, so you can't simply strip the first 12 characters). any ideas ? thanks Charlesailemail_e
Hi Charlie, Assuming you can use this field in the string manipulation cloud connector then you could probably figure a way to do this - can I ask why this field as your parameter?What are you trying to do here, is there any reason you can't use the whole value for this and it must be numeric? Cheers, Chris
Where is this 'string manipulation' cloud connector ?  I haven't found it yet - it sounds ideal Found it and I will experiment Regarding your 'why' question, I don't know all the details, but apparently the reason we want to use the numeric part of the eloqua ID is because we have some other functionality which uses the data lookup API, and the API returns the numeric part, so the external table that we are referencing was setup with this as the key.We *could* add another column to that table (or do some manipulation aftter the parameter has been passed), but we would like to avoid those options if possible. thanksCharlie
OK, post back on here if you need some help