How to show campaign based on data tracked/reported by adobe sitecatalyst? - aem

We are implementing SiteCatalyst on flat HTML files. There is a requirement where we need to show campaigns based on the data that we reported from Analytics. e.g. There is a form having multiple fields. If user have not filled the form/or filled the form, we will track this event and report it to omniture. Now if he presses back button without filling the form completely, we need to show him some campaign/offers. The same will happen when he presses the submit button only the campaign will be different this time. Can this be achieved ? Can we integrate sitecatalyst and campaigning ?
I know that the vice-versa is possible. We can track campaigns and report the campaign id's. But is there any way to display offers based on the analytics data. That too in real time.
Any help would be great !
Thanks in advance.

It sounds like what you are looking for is Adobe Target.
Adobe Target is a tool that allows you to do AB/MV testing, but also target visitors by set rules and criteria.
Very simple example:
"If user came from foo.com, show <h1>foo</h1>. If user came from bar.com, show <h1>bar</h1>"
There is a level of integration between Adobe Target and Adobe Analytics. However, it is not real-time for data that has already been collected.
For example, if you have logic that pops s.prop10 on page with "foo" then that can be integrated with Adobe Target and you can setup a rule that says something like "If s.prop10 is 'foo' then show '<h1>foo</h1>'".
But, it does not let you make a rule like "if prop10 was 'foo' for this visitor at any point in the time in the past, show '<h1>foo</h1>'". In other words, there is no real-time evaluation of data already collected on Adobe's servers.
But, if you were simply wanting to make rules based off the current visit, you can store information in cookies look at cookies to make rules in Adobe Target easy enough.
Also note that there are no built-in tools or hooks or methods etc.. for the actions you described. For example, there's no way to natively say in Adobe Target (or Adobe Analytics) "If a visitor clicks the back button or does this other action, track that". You need to write your own code to define those actions and trigger relevant tracking code at relevant times. Adobe Analytics (and other tracking tools) can help automate some basic stuff like simple link clicks or form field focusing - IOW direct 1:1 actions, but baking in complex actions like that is not feasible for a tracking tool, because every site and scenario is unique.
I guess the TL;DR here is that there is no magic wand for this sort of thing, not for Adobe or any other analytics/tracking tool; you're going to have to write your own code (be it server-side, client-side, or mix of both) to meet your business needs.

You can use Reporting API exposed by adobe sitecatalyst.
Through the Reporting API, you’re able to access the reports generated for your Form events. If you’re using SiteCatalyst 15, you’ll be able to generate reports based on segments also. Recently the Reporting API was updated and given the ability to perform multi-level breakdowns across reports. For more information on this method, go to the API documentation within the Adobe Developer Connection.
Sample Real time access API:
// Real-Time Report
// Note the inclusion of "source" equals "realtime"
// Make sure you configure Real-Time reports for the report suite
https://api.omniture.com/admin/1.4/rest/?method=Report.Run
{
"reportDescription": {
"source": "realtime",
"reportSuiteID": "rsid",
"metrics": [
{ "id": "revenue" }
]
}
}

Related

ChatBot with conditional response flow - Rasa Open Source

I'm working on a Rasa (Open Source) project, I need to represent the diagram flow in a chatbot.
The main problem is following the conditional flow as the user can say yes or no and modify the flow of the conversation.
I would like to know how I could build a chatbot that contemplates all the possibilities represented in the diagram and the others that are outside it, using Rasa.
In other words, a chatbot that responds to the user according to his previous response.
Please.
flowchart
A "solution" I found was to create a story for each possible path, but it is "unfeasible" due to the number of stories. (there are 9 other diagrams like this one).
Regarding the flow and how you can map your designed diagrams into Rasa, you try to use one universal story/rule to make your structure more modular. You can find parts of the flow in your diagram that are being repeated on the other ones also and create your story/rule(s) out of them to be used in different flows. Rasa also supports checkpoint, which let you manage your stories in a more restrictive way.
For getting users' responses and acting accordingly, you need to deploy Rasa forms and action in your story/rule(s) for extracting those 'entities` you want to get from users and manipulate them.

I am looking for a a form builder

I am searching for a form builder that completes the following requirement.
It should have API to handle form submission. Meaning I can submit data from an API as well, mainly for bulk entries as selecting multiple values and pressing submit button takes a lot of time. So a way through which we can either import some csv/xlsx file into the database directly. Let me explain this situation, suppose I am a manager and I have to evaluate 5 staff members on 15 skill levels. This means that I will have to click on submit button and wait for page refresh for 5 * 15 = 75 times and not just that, I will have to select the same values multiple times. This is a huge interface problem. In short a tabular form in which if I have to create a new entry I will press a button "Add New Row" or Delete the current row and once I am done with this tabular form, I will press the submit button once and my time & data will be saved.
Also API's for getting the stored data so I can use this data for other purposes as well like Visualizing with Microsoft Power BI.
It should also be able to create some reports from that data or have Microsoft Power BI connectors so I can generate reports from that myself. Jotforms creates reports based on the submitted form data. Form.io provides API for accessing the submitted data
It should have a feature for creating resources. Example:- As a form creator I don't want to be manually entering all my staff member names or skills into the dropdown, instead this should come dynamically. Form.io does that.
Also the forms and reports must be protected from SSO.
What I have done so far?
Tried form.io which gives me the ability to create resources and forms. The ability to access and store data through API. But the problem is I cannot submit multiple records with one POST request and it also has no feature of creating reports
Tried JotForms which can create promising reports but there is no
functionality to create resources and access those into other forms.
Tried Custom Tool but this will take a lot of time in development, testing, reviews so I want to opt for an already crafted and maintained by an enterprise tool.
Every Suggestion is Appreciated.

Using "speechBiasingHints" with Dialogflow Webhook

First time posting, so feel free to give me feedback if I could improve something about this post... Now on to my question.
I am currently developing a Google Action, the Action will allow the user to define important events, such as Bob's Birthday or Fred's Graduation, and save data about said events. Later, the user will be able to ask for info about the event and get it returned back to them.
I am using the Dialogflow API with "Inline Editor" fulfillment to keep it as simple as possible for right now. The problem I am running into is this, the event has an entity type of #sys.any, so anything the user says is excepted as valid input. I would like some way to bias towards events I already have stored for the user however, so that they are more likely to find the event they are looking for.
I found another answer on here discussing speech biasing (What is meant by speech bias and how to use speechBiasHints in google-actions appResponse) which defined speech biasing as the ability to"influence the speech to text recognition," which is exactly what I believe I want. While that answer provided sample code, it was for the Actions SDK, not the Dialogflow SDK, which I am using.
Can anyone provide an example of how to fill the "speechBiasingHints" section of the ExpectedInput response of the Conversation Webhook using the DialogFlow Webkook?
Note: This is for a student project, and I'm new to developing Google Actions and still very much learning about everything that is capable with Google Actions. Any feedback or suggestions are very welcome.
The question you link to does quite a few things differently than the approach you're taking. The Action SDK provides more low-level control, but doesn't have much Natural Language Processing (NLP) capabilities, which Dialogflow provides.
Dialogflow handles biasing a little differently through the use of Entities, so you don't need to control the speech biasing directly, Dialogflow can handle that for you, to some extent.
Since each user may have a different event name, you'll probably want to use a User Entity, which is an entity you define and then populate on a user-by-user basis through Dialogflow's API. In your sample phrases, you can then use this entity name instead of #sys:any, or create another set of phrases that use this entity in addition.

A/B Test a Page Step in a Single Page without a new URL

I am trying to figure out how to run an A/B Test for a change on a Page Step for a Single Page. The idea is we have a payment flow with several page steps each containing a form. We'd like to swap out forms and test how our users react. We are trying to avoid changing the URL.
I looked into tools such as Google Analytics, but that requires a different URL to run the A/B test. The hesitation about creating a new URL is because our users are known to bookmark them, and we don't want to keep a backlog of redirects from invalid URLs, also we'd like to avoid constantly deploying new URLs for our tests.
I cannot seem to find any tool to do this, so I've tried to think of a few solutions but I'm not having a lot of luck.
My best idea is to build both a and b forms into the page, and when a user accesses the flow, the session randomly(based on a preset%) stores a value that dictates whether the user is in test a or b. Then when they step into that form, the server will serve the proper form to them. If they abandon their session, we'd track that, and if they complete the action, we'd track that.
I feel like there should be a better solution, but I just cannot come up with one.
My results online were either blogs showing how to approach it from a high level, and all of them used different URLs, I have found almost no developer resources.
Thanks.
We're using ExtJS 4.2.2, and .NET as our server.
Whenever you need the server to be involved, you need server-side instrumentation. No free tools offer that, but you could consider Optimizely "full-stack" (has support for C#) or Variant (does not yet).

AEM Campaign analytics

We building personalization feature and use AEM targeting engine to deliver personalization content. However, I see that in admin section of the AEM Segmentation, there is any attribute called "Impresssions" which I believe is stats on how many times the customized content was shown to user.
Assuming that, how does AEM get to know the statistics? Is it something AEM takes care of automatically or I have code or configure something explicit. The reason why I ask is, I see the snippet like below in kernal.js file.
if (window.CQ_trackTeasersStats && n.trackingURL) {
h(M, n.trackingURL)
}
I noticed that n.trackingURL is null in my case.
Any help shall be appreciated. And also should I looking for impression statistics in author env or publish env?
AEM Campaign use a OOTB or custom Impressions service to calculate the Impressions.
There are two option in AEM to calculate the impressions
Yes, This something AEM can take care automatically
for you but it will not give you a correct picture as every instance will be having a separate copy so you have to write some code to collect all values and push it back to all environment.
You also have an option of using your Adobe Sitecatalyst to
calculate an impression which gives you a more accurate count of
impressions. for this sitecatalyst expose their rest service so that
you can update the impressions on run time.
n.trackingURL is null because you have not configured the sitecatalyst account for this environment.
Read docs Or
Implementations instruction: