I'm new to Adobe DTM, after checking all Adobe DTM events it doesn't have a method to check for inactivity. Have anyone done this? How to do this? Thanks.
Well, I'm gonna answer my question based on the help from #CrayonViolent.
Create a Page Load Rule
Under Conditions, Trigger rule at Bottom of Page, it provides ample time for the page to load the elements before it runs the rule
Under Javascript / Third Party Tags, I added my javascript to detect whether the input field value has changed, if it does, delays for 15 seconds then run _satellite.setVar('blahblah', 'toSomething') which allows me to use in the next step. Final step is _satellite.track('mydirectcallname'), to trigger the Direct Call Rule
Create a Direct Call Rule
Under Conditions, make sure String has the same value as in _satellite.track('mydirectcallname') (i.e. mydirectcallname)
Under Adobe Analytics, I set one of the eVar to use %blahblah%, which I defined in step 1.
Related
I wonder if it is possible to use Google Forms to gather Sociometry responses.
See this picture as an example:
Clarification:
I want to create many rows per a single responder (see in my picture, there are 5 rows for responder 1, which represent each of the 5 Peers the responder needs to rank) . The second issue, is that the population always changes (responder 1 needs to rank 5 people, while responder 2 needs only 4)
Just create a form and link it to your sheet.
I think you have already done this, but just in case:
create a new form.
link the responses to a spreadsheet.
How to identify the responder
Unless you are in a workspace account and all the responders are also in a workspace account there is no way to identify the responder. The only way that you can do this is to ask the responder in the form for their "Responder ID". The only field that will be populated automatically will be the timestamp.
How to get multiple rows per response
The simple way is to simply get the participants to fill out the response multiple times. The more complex way is to look into Apps Script to construct forms based on a certain criteria, though this sounds like it will probably be complex to do in this way. Maybe you would be interested in building an Apps Script web app with which you could build an html form. That will probably give you more flexibility, though it will be a bit more work to set up.
How to organize your sheet so that all Responder IDs are sorted.
You can do this manually by filtering or sorting the data. Alternatively you can look into Apps Script to do this process automatically every few minutes or hours, depending on what you need it for.
I am implementing a Zapier Integration's polling trigger. I have built a trigger and an API which serves the data correctly. However my concern is about: how to make sure that I provide the new data only, when zapier polls.
I know about the deduplication mechanism. I provide ids in all the items and Zapier makes sure that one item is used only once. However in my application the items can go into hundreds very quickly and in months they will be in thousands and beyond. I want an optimised solution where I serve only the items which will eventually be used by Zapier, thus reducing the memory usage in my application.
Some timestamp can be save for every call, which I can store inside my application but that will not be a foolproof solution. Same API can be used by user in multiple zaps, plus there are sample calls etc.
Great question! The simplest way to do this is to add a date parameter to your API that lets you filter for items created after that date.
Then, in your Zapier code, provide that param for all trigger calls. I'd set the time to 24 hours ago. So, when a trigger fires, it'll only get items created in the last 24 hours. That could be a big list, but items will cycle out after a day.
As shown in the screenshot JIRA Workflow Status Default Order I would like to order my JIRA status's so the first option is always the next logical step.
I added the "opsbar-sequence" key property, checked for whitespaces and added values of 100, 200, 300, 400 etc.. to all my steps but the default order still appears.
I am no expert. This might be a lead towards a fix. (Might)
Jira's front-end has a custom javascript framework that you need to deal with.
The front-end has functions that rewrite the pages content on each update. So the change that you did might take efect, but once you open a dropdown, the javascript framework would rewrite any modification that taken effect.
There are events extendable and useable that helps in triggering your reorganizing function at the right moment to edit the page without running through any forceUpdates that might overright your changes.
Please read more here
Jira Javascript API Events
Given a Vaadin application where a user can add and remove elements of a list that is also rendered in the browser, I am wondering what the most efficient way of handling such manipulations would be. Currently, I am simply using the add and remove methods.
I am only experienced with Apache Wicket where one should avoid to manipulate the component tree for performance reasons. In the documentation, I only found a section on how to handle repeated elements in Polymer but nothing on how this can be done using the "simple" API.
Am I choosing the right approach?
The Vaadin UI code runs on the server, so the add/remove operations don't affect the DOM directly. When a response is sent back to the browser, Vaadin will look at the difference between the previous UI state and the current and send appropriate instructions to the browser client to update the DOM. In this case, the instruction would be something like "remove the following components:...". The actual DOM manipulation is handled by Vaadin, and is not something you can affect yourself.
If you run into performance issues, help us out by filing an issue ticket on GitHub, so we can take a look at it https://github.com/vaadin/flow/issues
This question may seems odd but we have a slight mixup within our Report Suites on Omniture (SiteCatalyst). Multiple Report Suites are generating analytics and it's hard for us to find which site URL is constituting the results.
Hence my question is, is there any way we can find which Site is filling data within a certain Report Suite.
Through this following JS, I am able to find which "report suite" is being used by a certain site though:-
javascript:void(window.open("","dp_debugger","width=600,height=600,location=0,menubar=0,status=1,toolbar=0,resizable=1,scrollbars=1").document.write("<script language=\"JavaScript\" id=dbg src=\"https://www.adobetag.com/d1/digitalpulsedebugger/live/DPD.js\"></"+"script>"));
But I am hoping to find the other way around that where Report Suite gets its data from within the SiteCatalyst admin.
Any assistance?
Thanks
Adobe Analytics (formerly SiteCatalyst) does not have anything native or built in to globally look at all data coming to see which page/site is sending data to which report suite. However, you can contact Adobe ClientCare and request raw hit logs for a date range, and you can parse those logs yourself, if you really want.
Alternatively, if you have Data Warehouse access, you can export urls and domains from there for a given date range. You can only select one report suite at a time but that's also better than nothing, if you really need the historical data now.
Another alternative is if your sites are NOT currently setting s.pageName, then you may be in some measure of luck for your historical data. The pages report is popped from s.pageName value. If you do not set that variable, it will default to the URL of the web page that made the request. So, at a minimum you will be able to see your URLs in that report right now, so that should help you out. And if you define "site" as equivalent of "domain" (location.hostname) you can also setup a classification level for pages for domain and then use the Classification Rule Builder and a regular expression to pop the classification with the domain, which will give you some aggregated numbers.
Some suggestions moving forward...
I good strategy moving forward is to have all of your sites report to a global report suite. Then, you can have each site also send data to a site level report suite (warning: make sure you have enough server calls in your contract to cover this, since AA does not have unlimited server calls). Alternatively, you can stick with one global report suite and setup segments for each site. Another alternative is to create a rollup report suite to have all data from your other report suites to also go to. Rollup report suites do not have as many features as standard report suites, but for basic things such as pages, page views, it works.
The overall point though is that one way or the other, you should have all of your data go into one report suite as the first step.
Then, you should also assign a few custom variables to be output on the pages of all your sites. These are the 4 main things I always try to include in an implementation to make it easier to find out which sites/pages are reporting to what.
A custom variable to identify the site. Some people use s.server for this. However, you may also want to pop a prop or eVar with the value as well, depending on how you'd like to be able to break data down. The big question here is: How do you define "site" ? I have seen it defined many different ways.
If you do NOT define "site" as domain (e.g. location.hostname) then I suggest you pop a prop and eVar with the domain, because AA does not have a native report for this. But if you do, then you can skip this, since it's same thing as point #1
A custom prop and eVar with the report suites(s). Unless you have a super old version of legacy code, just set it with s.sa(). This will ensure you get the final report suite(s), in case you happen to use a version that uses Dynamic Account variables (e.g. s.dynamicAccountList).
If you set s.pageName with a custom value, then I suggest you pop a prop and eVar with the URL. Tip: to save on request url length to AA, you can use dynamic variable syntax to copy the g parameter already in a given AA request. For example (assuming you don't have code that changes the dynamic variable prefix): s.prop1='D=g'; Or, you can pop this with a processing rule if you have the access.
you can normally find this sort of information in the Site Content-> Servers report. There will be information in there the indicates what sites are sending in the hits. Your milage may vary based on the actual tagging implementation, it is not common for anyone to explicitly set the server, so the implicit value is the domain the hit is coming in from.
Thanks C.