How to track searches in piwik? - analytics

The site I'm building has a jquery based search input that hides or shows elements that match whatever you type in:
http://pieline.net/
There's no submit button - results are displayed in real time.
Is there any way to track what users are typing into this box? Something to do with custom variables maybe?
Thanks

This is what we do on Piwik's developer site to track searches:
_paq.push(['trackSiteSearch', 'here is the search query', false, false]);
This is pretty straightforward, have a look at the "Internal search tracking" documentation too.

Related

How to use CheckBoxes filter in Google DataStudio?

In a Report in Google DataStudio, I have a CSV connector (for the moment).
I would like to use a check box to sort only lines who are under a value on a specific page.
The Facts: I have a field who are listed the time in seconds. I've make a simple filter
Include |MyFieldinSeconds|<=|86400
This way work.
But I whould like to add a checkbox for apply this field or not. For the viewer, this is the hard part. The checkboxes options are "Source of Data" and "Control Field", only booleen.
I've try to solve this by the group selection, by the Filter group option with the filter without success.
Thank You
Nicolas

Can piwik track the query string?

Piwik only seems to track the path part of the URL, not the query string. Is this a turn-onnable option? or perhaps I'm looking at the wrong report?
EDIT: I note that the log_action table includes the full URLs including query string, which gives me hope that the data may be there.
Piwik displays query string also without making the report flat. You just have to reach the last level of URL (you can do it by clicking the row that has a plus icon near the URL).
Go to Settings->Websites and check Keep Page URL fragments when tracking Page URLs.
Yes, Piwik does this by default (credit to #quba for pointing that out). But it's a little hidden:
At the bottom of the report there's a little cog icon. This itself may be hidden - if it's not there, look for a little down/up arrow, click that to reveal the cog icon.
Clicking the cog gives you a menu which allows you to select hierarchical or flat - flat view shows the query strings.
Documentation screenshot:

How can I get merged data from website and mobile website for Google Analytics?

I have a website - and the website redirects the users automatically to its mobile site when the users access using mobile devices.
The problem is, Google Analytics treats those two pages as a separate page.
For exmaple,
http://story.pxd.co.kr/917 and
http://story.pxd.co.kr/m/post/917
are same page but GA shows statistics as two different pages.
How can I merge the data from the two pages?
(When I want to see mobile data only, GA already supports various ways for it)
Thank you in advance.
Jay
Untested as far as the regex goes and might need a little refinement, but the principle works like this:
Go to admin, views, filters. Create a new filter , custom, advanced.
In "Field A" select "Request Uri" from the dropdown.
In the text field at the right (extract) enter "./m(.)" (without quotes). This extracts everything to the right of /m via and stores it (via the brackets) in variable (if it does not work at the first go you have to look up regexp with Google and refine). The values of that variable now should be in your example "/post/917", it is accessible later via the placeholder $A1 ("A" because it's from field A, "1" because it is the first value extracted. If you use more than one bracket you might also have $A2, $A3 etc).
Leave Field B empty.
In "Output To" select "Request Uri". Enter your hostname http://story.pxd.co.kr/ . Append the placeholder $A1 - this contains the page path without the "m".
All steps combined will change "http://story.pxd.co.kr/m/post/917" to "http://story.pxd.co.kr/post/917" and thus unify the urls so they will be displayed as the same page in the reports (you might want to include some custom dimension to discern if this was a mobile view or a desktop view, or you can use the "device category" as second dimension to see which was which).
Btw. data that has already been recorded will not be changed, filters do not work on historical data. And be sure to keep a view without filters (filters are destructive and if you make a mistake you won't be able to recover the data).
Thank you Eike,
With your hint, I found better way.
I used 'Advanced Filter' with 'Search and Replace'
So let the GA search /m/post/ and replace with /
Thank you!

What is the recommended approach to maintain view state using ionicframework / angularjs?

I'm new to Ionic Framework and AngularJs as well.
The app I'm working on has a view where user can search and the results are presented in a list. When the user clicks one of the list items, it navigates to details view. When user presses the "back" button at the header bar, the search text box and results list are empty and he must search again.
What is the recommended approach to, when the user presses the back button from details view, bring the search view populated with the previous search term and results? (would be nice to have the scroll position restored as well)
I know I can just store this information into some service, but this sounds like a lot of work.
Are there any other cool stuff like a view state service or something that can do this for me?
I know I can just store this information into some service, but this
sounds like a lot of work.
really?
app.factory('searchData', function() {
return {
searchTerm: '',
results: []
};
});
that's how it's done. But it sounds like what you're really looking for is a cure for laziness...

Show Opportunity related Contacts in Custom Object Field

I have the next issue.
I have a custom object called 'Application', and I have this requirement:
"Show all Contacts related to an Application. Create a field on Application object, must be read only".
I solve it with apex code. 'Application' has a lookup to Opportunity, Opportunity to Account, and all my contacts have AccountId, so this way, I get all the contacts using apex code in a trigger.
But, I've been ask to change this to a Formula field in Application object.
So, my issue is next. I'm not able to get all contacts with advance formula editor, because they're not part of any object. I have no master-detail relationship.
Does any one know how can I achieve this using configuration? I should not use apex code for this req.
Thank in advance guys.
I don't think you can do it.
In formulas / merge fields syntax there's no way to go "up, up then down" (Application -> Opportunity -> Account -> down to Contacts related list). There's also nothing that would let you loop through Contacts (and display what? Ids? Names? Emails?). Roughly speaking you can only go up through dots.
You might want to explore path of "cross object workflow" rules but I imagine that when I add a new Contact to Account it should somehow "spread itself" to all related Applications? There's no straight way to fire a workflow on delete too - so you'd eventually end up with inaccurate list.
I'd say trigger was a good solution. Maybe it ws unoptimized but if it has to be in a field - tough.
There might be a fairly simple way of achieving that by embedding a visualforce page within Application page layout.
This should be doable with pure Visualforce (so technically there will be no Apex code ;))
Something as simple as
<apex:relatedList list="Contacts" subject="Application__c.Opportunity__r.AccountId" />
would be a good start (if you want your own layout and not a rel. list - you should be still able to pull it off with <apex:repeat> or <apex:pageBlockTable>.
There's one BUT here: it's not a field, just a display trick. Forget about using it in reports, mobile applications etc.
Another way - would it be acceptable to be 1 click away from these contacts? You could make a report "Account with Contacts", filter it by Id of one Account and later use "URL hacking" to change the filter depending on from which Application you'll click it. This link could be either a formula field or a real custom button/link. Technically - it's pure config, no apex & VF.
You can read more about URL hacking at Ray Dehler's excellent post and specifically about dynamic Reports here or here.

Resources