Hi everyone,
I want to learn more about Insight reports. I was wondering is there any video tutorials?
Is it possible to do video tutorials in any subject?
// Carina
Hi everyone,
I want to learn more about Insight reports. I was wondering is there any video tutorials?
Is it possible to do video tutorials in any subject?
// Carina
4Thought Marketing, an Oracle/Eloqua Gold Partner, is growing fast and looking for a solution consultant in the US - work remote, that's fine with us. If you like helping others enhance their Eloqua experience, and expand it beyond their wildest dreams, then 4Thought Marketing is the place to be.
Check out the job on LinkedIn - https://www.linkedin.com/job/consumer/overview/index/11017444 (don't let the city fool you, we had to pick one).
Send us a note and let us know why you think you'd be the best person for 4Thought Marketing - careers@4thoughtmarketing.com.
Anyone who was successful in clearing "Implementation Specialist Exam" Beta exam or the production exam now.Need a few tips as I would be appearing for this shortly.
thanks In Advance.
What is your social media of choice?
Eloqua recently made some infrastructure changes in support of additional data centers. To support these additional data centers, a new API endpoint was created to allow you to interface with Eloqua regardless of where the Eloqua install is located. In this post we share details of this new endpoint.
Until now, almost all customers resided in the same production environment. The API could therefore be accessed using the base URL of https://secure.eloqua.com. In the coming months, new customers will be deployed in the new data centers, and some customers may move between data centers, and will therefore have a different URL than what you have seen in the past.
What does this mean to you as a developer?
Depending on the Eloqua customer that is trying to use your app, your API calls may no longer work!
Here's the good news...
There is now an endpoint that allows you to determine the URL for your API calls. This endpoint is https://login.eloqua.com/id.
The endpoint, when called with basic authentication or OAuth authentication, will return details about the URLs for the various APIs.
Here's how to use it:
Request (basic authentication):
GET https://login.eloqua.com/id HTTP/1.1
Authorization: Basic XXXXX
Response (success):
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 824
{
"site": {
"id": 42,
"name": "MyTestInstall"
},
"user": {
"id": 314,
"username": "TJ.Fields",
"displayName": "TJ Fields",
"firstName": "TJ",
"lastName": "Fields",
"emailAddress": "tj.fields@eloqua.com"
},
"urls": {
"base": "https://www05.secure.eloqua.com",
"apis": {
"soap": {
"standard": "https://www05.secure.eloqua.com/API/{version}/Service.svc",
"dataTransfer": "https://www05.secure.eloqua.com/API/{version}/DataTransferService.svc",
"email": "https://www05.secure.eloqua.com/API/{version}/EmailService.svc",
"externalAction": "https://www05.secure.eloqua.com/API/{version}/ExternalActionService.svc"
},
"rest": {
"standard": "https://www05.secure.eloqua.com/API/REST/{version}/",
"data": "https://www05.secure.eloqua.com/API/Data/{version}/",
"bulk": "https://www05.secure.eloqua.com/API/Bulk/{version}/"
}
}
}
}
Now that you have the URLs for the API(s), you can use them in your code.
Response (failure):
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 20
"Not authenticated."
T0 GEThttps://login.eloqua.com/id
T1 GET https://www05.secure.eloqua.com/API/REST/1.0/data/contact/123T2 GET https://www05.secure.eloqua.com/API/REST/1.0/data/contact/456
T3 GET https://www05.secure.eloqua.com/API/REST/1.0/data/contact/789
...time passes e.g. 60 minutes...
Tn GEThttps://login.eloqua.com/id
Tn+1 GET https://www12.secure.eloqua.com/API/REST/1.0/data/contact/ABCTn+2 GET https://www12.secure.eloqua.com/API/REST/1.0/data/contact/DEF
Tn+3 GET https://www12.secure.eloqua.com/API/REST/1.0/data/contact/GHI
...
T0 GEThttps://login.eloqua.com/id
T0 GET https://www05.secure.eloqua.com/API/REST/1.0/data/contact/123T1 GEThttps://login.eloqua.com/id
T1 GET https://www05.secure.eloqua.com/API/REST/1.0/data/contact/456T2 GEThttps://login.eloqua.com/id
T2 GET https://www05.secure.eloqua.com/API/REST/1.0/data/contact/789...
Tip: When calling this endpoint from a Cloud Connector or Cloud Component app, if an API call fails with a 401, your application should call the /id endpoint again to determine whether the 401 was the result of the user's credentials/token being invalidated, or the result of the site being moved to a different data center. If the /id endpoint returns a failure, your application should stop making API calls. If the /id endpoint returns a success, your application should retry the API call at the new address in the response.
Here's a quick flowchart showing the fallback process:
Interactive applications can respond to 401s using this process, or by simply logging the user out.
An update rule is a data tool used for data cleansing and normalization of Contacts, Companies, Prospects, or Custom Objects. In this example, we will create an update rule to normalize a contact field (Country) based on a lookup table field.
A lookup table is simply a list of two columns of values, one column for values to perform the lookup on, and one for values that will be used to replace the original values.
For example:
Existing values | New values |
United States | USA |
U.S. | USA |
U.S.A. | USA |
First, we will create a Lookup Table that will be used in the Update Rule.
You may end up with a lookup table that looks similar to this:
Next, we will create an update rule to use the created lookup table:
Once you have created an Update Rule set, you can run it on a shared list:
In a future article, we will discuss how to use an update rule in Program Builder.
Hi All,
My Question is where can I see the list of emails which haven't got uploaded during upload contacts
For example if I am uploading a list of 3 contacts, 2 of them has same mail id, out of total 3 only 2 got imported, and 1 is not imported because of same mail id.
Is there any location where I can see the 1 contact which hasn't got uploaded showing the reason why it has not uploaded.
I do checked the upload History, in Setup > Integration > Inbound > Reporting > Upload History, but there it is displaying the total number of contacts in the list, but not in details as to which email ids haven't got uploaded
Please help me on this, thank you
I am attempting to find the number of engaged contacts over the last 12 months. I have run the Database health dashboard and the figure it gives me for active engaged contacts is 1/3 the number of contacts returned when i run a segment with the following criteria:
1) opened an email in last 12 months. or
2) Clicked through from an email in the last 12 months. or
3) submitted a form in the last 12 months
When i run a segment without the "opened an email" criteria it comes back with half the amount the database health dashboard say are engaged. Therefore I wonder what exactly does the database health dashboard consider as an engaged active prospect?
Also is it best practice to consider an email open as an engagement?
Thanks
Kevin
Hi community,
Am am working in eloqua 10 asynchronous page tracking scripts.
I have followed the Eloqua Asynchronous Tracking Scripts (with Support for First-Party Cookies : Open Beta Program, Summer '14) .
and integrated that code to my external website's page to track the page and to populate the details of a particular contact in that page. The first part is working and am getting tracking information from eloqua.
But the second thing seems to be not working ie the contact details not populated in the page.Given below is the code that i have tried
<html>
<body>
<script type="text/javascript" LANGUAGE='JavaScript'>
var _elqQ = _elqQ || [];
_elqQ.push(['elqSetSiteId', '123456789']);// suppose this is my site id ,not the actual one
_elqQ.push(['elqTrackPageView']);
(function () {
function async_load() {
var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true;
s.src = 'http://img.en25.com/i/elqCfg.min.js';
var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x);
}
if (window.addEventListener) window.addEventListener('DOMContentLoaded', async_load, false);
else if (window.attachEvent) window.attachEvent('onload', async_load);
})();
</script>
<SCRIPT TYPE='text/javascript' LANGUAGE='JavaScript'><!--//
function CreateRow(label, value)
{
var p = document.createElement('p');
var b = document.createElement('b');
p.appendChild(b);
b.appendChild(document.createTextNode(label));
p.appendChild(document.createTextNode(value));
document.getElementById('contactinfo').appendChild(p);
}
function SetElqContent()
{ alert('SetElqContent');
if (this.GetElqContentPersonalizationValue)
{
CreateRow('General: ', GetElqContentPersonalizationValue(''));
CreateRow('Email Address: ', GetElqContentPersonalizationValue('C_EmailAddress'));
CreateRow('First Name: ', GetElqContentPersonalizationValue('C_FirstName'));
CreateRow('Last Name: ', GetElqContentPersonalizationValue('C_LastName'));
CreateRow('Title: ', GetElqContentPersonalizationValue('C_Title'));
CreateRow('Company: ', GetElqContentPersonalizationValue('C_Company'));
CreateRow('Business Phone: ', GetElqContentPersonalizationValue('C_BusPhone'));
CreateRow('Address: ', GetElqContentPersonalizationValue('C_Address1'));
CreateRow('City: ', GetElqContentPersonalizationValue('C_City'));
CreateRow('Salesperson: ', GetElqContentPersonalizationValue('C_Salesperson'));
} else
{
CreateRow('Personalization functions not found','');
}
}
//--></SCRIPT>
<SCRIPT TYPE='text/javascript' LANGUAGE='JavaScript'><!--//
_elqQ.push(['elqDataLookup', escape('ee8064e78750439db75280586860f863'),'<C_EmailAddress>mymail@gmail.com</C_EmailAddress>']);//this email address is present in eloqua contact
//--></SCRIPT>
<div id="contactinfo">
</div>
</body>
</html>
As per the eloqua documentation after loading this page the call back function SetElqContent get executed and the div is populated with specific contact details returned.
But haven't get any contact details associated with the given email(mymail@gmail.com) in the datalookupvalue .
Do you have any idea on this problem? Is anything wrong from my understanding or in the code that i have tried?
Any help will be appreciable.Eloqua Support,Eloqua Administrator,Leigh Burke
Hi
T.J. Fields,Fred Sakr do have any idea regarding the same?
I've been workiing with the REST API and have run into some snags.
1. I am trying to convert the Eloqua form into a Flash object. In order to do this, I need to examine the entire form structure. I don't see any documentation for the subfields of the form (e.g. element, validation, etc.). Does this exist?
2. The html returned in the html field of the forms object is not legal. (e.g there are tags in the value attributes of input fields) Is this intentional?
3. I noticed that some of the form fields include a reference to an OptionList (optionListId) which I can then use to download the option list using a separate API call. I had some form fields referring to an OptionList called "Default" and all of those fields never returned the optionListId even though the optionList existed and I could edit it, add items to it, etc. What is the purpose of this default OptionList? Once I've deleted it, can I recreate it? Is there a way to indicate to the system which is to be the default list? How does one know which list is the default if no optionListId is included? If I want to create a form from an element that has no OptionListId, how can I know which optionList to ask for?
We are looking to build an automated programme for winback of lost customers and need to segment them for emails and follow-up based on the services that they have cancelled. Customers are able to take any combination of 4 services and when these are cancelled in salesforce a lost customer report (showing the the product cancelled) will be created as a custom object in salesforce for each of the products cancelled.
The campaign plan is to bring this data into Eloqua so that the prospect can be contacted 7 months after the cancellation of the product(s) however the issue is that the customer may have a combination of custom objects showing the products cancelled. What is the best way to combine the data so we can have data sets for each of the product combinations? I assume that we need to bucket contacts by product name and lost product created date?
Looking at doing this through the campaign canvas seems to create a great deal of complexity - would it be better to create this as a programme - and if so what would be the approach to achieve this?
Any thoughts would be very welcomed
Thanks everyone
Alex
We have folders in Campaigns and Emails. Can i genetrate a report based on this folders.
Ex.
Campaigns Folder Structure
EHG / EPG are Group Co's
Comp1,2,3 are sub co's respectively.
Campaigns |
EHG |
|
|
|
EPG |
|
|
Email Folder |
EHG |
|
Newsletter |
Awareness |
Sales |
|
Newsletter |
Awareness |
Sales |
EPG |
|
Newsletter |
Awareness |
Sales |
|
Newsletter |
Awareness |
Sales |
Please help me on this.
What are you primarily using the Custom Data Objects for?
A while back I did a post Consuming the EloquaService WSDL with PHP that later turned out didn't really work too well!
Many developers are running into issues consuming the EloquaService WSDL, which is preventing them from building on the Eloqua Platform.
Well, there is now good news...Eloqua has developed an Eloqua PHP Client, and it is now in Alpha testing.
If you are a developer working with PHP, and are having trouble using the Eloqua API, please go to the link above and check out the great work that Syed has done!
Looking to do little bit of research prior to A/B split testing.
In a number of code snippets we’ll be sharing in some upcoming posts, there will be a bit of general setup that is common. Rather than repeat it in all the code snippets, it’s best just to share it once and refer back to it. This code, by itself, won't do much, but many of the code snippet samples that will be forthcoming may use this as a reference.
For almost anything you do with the Eloqua API, you will need the SOAP endpoints for the calls defined. There are two main endpoints that we’ll be looking at, the External Action Service for Program Builder related tasks (Cloud Connectors) and the standard SOAP endpoint for many data and group related tasks. This code snippet sets up both as they will usually be used in tandem by most programs that leverage the Eloqua API.
The following SOAP Endpoints are defined:
EloquaProgramService as: https://secure.eloqua.com/api/1.2/ExternalActionService.svc?wsdl
and EloquaServiceNew as: https://secure.eloqua.com/API/1.2/Service.svc?wsdl
With that, let’s create an object to manage our communication with Eloqua. In creating an instance of this class, we’ll pass in three variables – the Eloqua Instance name, the User ID, and the Password.
The Eloqua Instance name is the company name that you use on your login page. Your user id and password represent the user account for an account that has API access. To have API access, two things must be true – the API must be enabled for your instance, and the account you are using must have the right to use the API. To turn on the API for your install, just call the Eloqua support desk and ask them to enable it for you. Your system administrator will be able to grant access to the API security rights under the Admin console.
With that set up, our constructor just creates a serviceProxy for each endpoint and attaches the credentials we have specified. The Eloqua Instance Name and the User ID are concatenated into a string that looks like InstanceName\UserID.
public class EloquaInstance
{
private EloquaServiceNew.EloquaServiceClient serviceProxy;
private EloquaProgramService.ExternalActionServiceClient programServiceProxy;
private DateTime dttLastEloquaAPICall;
private string strInstanceName = "";
private string strUserID = "";
private string strUserPassword = "";
public EloquaInstance(string InstanceName, string UserID, string UserPassword)
{
strInstanceName = InstanceName;
strUserID = UserID;
strUserPassword = UserPassword;
serviceProxy = new EloquaServiceNew.EloquaServiceClient();
serviceProxy.ClientCredentials.UserName.UserName = strInstanceName + "\\" + strUserID;
serviceProxy.ClientCredentials.UserName.Password = strUserPassword;
programServiceProxy = new EloquaProgramService.ExternalActionServiceClient();
programServiceProxy.ClientCredentials.UserName.UserName = strInstanceName + "\\" + strUserID;
programServiceProxy.ClientCredentials.UserName.Password = strUserPassword;
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
dttLastEloquaAPICall = DateTime.Now.ToUniversalTime().Subtract(TimeSpan.FromMilliseconds(1000));
}
}
This generic setup will be used by a lot of the code snippets we’ll share, and is a great way to get you started with connecting to Eloqua.
Hi there,
I have registered on eloqua. Started accessing APIs.
In every API a system id is asked e.g. if you want to retrieve segment information the segment id is asked in the request.
/assets/contact/segment/{id}?depth={depth}
can anybody give the pointer on where to get these ids from?