PS: if I organize it like the example i gave:
"pageviews": {
  "globoesporte.com/" : 1,
  "globoesporte.com/futebol" : 3,
  "globoesporte.com/futebol/flamengo" : 10
}


can I refer to it when creating a segment like: "properties.pageviews['
globoesporte.com/']"?
or every key name should be compliant to dot terminology?

sorry about the double email and thanks again!

2018-06-06 14:21 GMT-03:00 Gabriel Cardoso <[email protected]>:

> Hi Serge!
> Let me see if I understood correctly:
> Let's say I have a pageview event in globoesporte.com/
> The clean way of keeping track of this is by making a profile property
> (with a rule and action) as a count, so it increments as the user keeps
> firing this pageview event. So I would have a profile property for each
> page he visited (globoesporte.com/futebol, globoesporte.com/futebol/
> flamengo). Is this correct? Wouldn't this bloat our profile?
> I could organize the profile property as:
> "pageviews": {
>   "globoesporte.com/" : 1,
>   "globoesporte.com/futebol" : 3,
>   "globoesporte.com/futebol/flamengo" : 10
> }
>
> so I wouldn't make it that much bloated, if you have a better approach i
> would love to hear about it.
>
> Now about the decay of information: should I be worried about that number
> never leaving the profile? I mean, it could be that after a few months "
> globoesporte.com/futebol/flamengo" wouldn't be that relevant for this
> user but i'm still segmenting him as a "flamengo fan". Everything related
> to profiles would be "decayed" as set in Unomi (90 days i believe), right?
>
>
> Thank you so much for your patience and answers, you're helping us a lot!
>
> 2018-06-06 12:11 GMT-03:00 Serge Huber <[email protected]>:
>
>> Hello Diogo,
>>
>> Segment conditions (mostly) operate on profile and session properties. So
>> you have basically the following options:
>> - add a rule and a custom action to copy the event properties you need to
>> the profile properties and then you can simply build a segment that has
>> condition on the "new" profile properties. It is also possible to use
>> scripting to avoid having to develop a custom action (see example below).
>> - use a PastEventCondition to build a condition that matches if profiles
>> have received such a condition in the past
>>
>> The most scalable and performant solution is the first one, but it
>> requires
>> a little more work since you need to provide a rule and an potential
>> action
>> implementation. The second solution can be done with out of the box
>> components but it can have performance issues if you don't properly limit
>> the condition in time and size.
>>
>> Here is an example of using a rule
>>
>> {
>>   "metadata": {
>>     "id": "incrementPageViewCount",
>>     "name": "Increment page view count",
>>     "description": ""
>>   },
>>   "raiseEventOnlyOnceForSession": false,
>>   "condition": {
>>     "parameterValues": {
>>       "subConditions": [
>>         {
>>           "type": "pageViewEventCondition",
>>           "parameterValues": {}
>>         },
>>         {
>>           "type": "eventPropertyCondition",
>>           "parameterValues": {
>>             "propertyName": "scope",
>>             "comparisonOperator": "exists"
>>           }
>>         }
>>       ],
>>       "operator": "and"
>>     },
>>     "type": "booleanCondition"
>>   },
>>   "actions": [
>>     {
>>       "parameterValues": {
>>         "setPropertyName": "properties.pageViewCount",
>>         "setPropertyValue": "script::r =
>> profile.properties['pageViewCount']; if (r == null) {
>> profile.properties['pageViewCount'] = [];
>> profile.properties.pageViewCount = [event.scope : 1] } else { if
>> (r[event.scope] != null) { r[event.scope] = r[event.scope] + 1 } else
>> { r[event.scope] = 1 }} r",
>>         "storeInSession": false
>>       },
>>       "type": "setPropertyAction"
>>     }
>>   ]
>> }
>>
>> Here's an example of using a PastEventCondition in a segment:
>>
>> {
>>   "itemId": "pastEventConditionExample",
>>   "itemType": "segment",
>>   "version": 1,
>>   "condition": {
>>     "parameterValues": {
>>       "numberOfDays": 30,
>>       "eventCondition": {
>>         "parameterValues": {
>>           "pagePath": "/sites/digitall/home/investors"
>>         },
>>         "type": "pageViewEventCondition"
>>       },
>>       "minimumEventCount": 1,
>>       "maximumEventCount": 6,
>>       "generatedPropertyKey": "pastEventConditionExampleProperty"
>>     },
>>     "type": "pastEventCondition"
>>   },
>>   "metadata": {
>>     "id": "pastEventConditionExample",
>>     "name": "Past event condition example",
>>     "description": null,
>>     "scope": "digitall",
>>     "tags": [],
>>     "systemTags": [],
>>     "enabled": true,
>>     "missingPlugins": false,
>>     "hidden": false,
>>     "readOnly": false
>>   }
>> }
>>
>> I hope this will help.
>>
>> Best regards,
>>   Serge...
>>
>>
>> Serge Huber
>> CTO & Co-Founder
>> T +41 22 361 3424
>> 9 route des Jeunes | 1227 Acacias | Switzerland
>> jahia.com <http://www.jahia.com/>
>> SKYPE | LINKEDIN <https://www.linkedin.com/in/sergehuber> | TWITTER
>> <https://twitter.com/sergehuber> | VCARD
>> <http://www.jahia.com/vcard/HuberSerge.vcf>
>>
>>
>> > JOIN OUR COMMUNITY <http://www.jahia.com/> to evaluate, get trained and
>> to discover why Jahia is a leading User Experience Platform (UXP) for
>> Digital Transformation.
>>
>> On Wed, Jun 6, 2018 at 12:19 AM, Diogo Munaro Vieira <
>> [email protected]> wrote:
>>
>> > Hey guys,
>> >
>> > I'm sending events for Unomi and it's working pretty well! But I don't
>> know
>> > how can I build segments with these event's properties. Here an example
>> of
>> > a event:
>> >
>> > {
>> > "source": {
>> > "itemId": "webpage",
>> > "scope": "systemscope",
>> > "itemType": "page"
>> > },
>> > "events": [{
>> > "eventType": "pageview",
>> > "source": {
>> > "itemId": "my page",
>> > "scope": "systemscope",
>> > "itemType": "page"
>> > },
>> > "scope": "systemscope",
>> > "target": {
>> > "itemId": "http://www.globo.com/";,
>> > "scope": "systemscope",
>> > "itemType": "page",
>> > "properties": {
>> > "referrer": "https%3A%2F%2Fwww.globo.com%2F",
>> > "timestamp": "1528222422907",
>> > "object": "http://www.globo.com/";,
>> > "host": "177.200.196.180",
>> > }
>> > }
>> > }]
>> > }
>> >
>> >
>> > I'm trying to create segments using this curl and getting
>> > NullPointerException even at karaf log:
>> >
>> > curl -iv -u karaf:karaf -H 'Content-Type: application/json' --insecure
>> > https://localhost:9443/cxs/segments -X POST -d '{"metadata": {"id":
>> > "globo","name": "Globocom","scope": "systemscope","description": "All
>> home
>> > users.","readOnly": true},"condition": {
>> >                     "parameterValues": {
>> >                         "propertyName": "target.properties.object",
>> >                         "comparisonOperator": "equals",
>> >                         "propertyValue": "http://www.globo.com/";
>> >                     },
>> >                     "type": "eventPropertyCondition"
>> >                 }}'
>> >
>> > What am I doing wrong?
>> >
>> > Thank your for your attention,
>> > --
>> > Diogo Munaro Vieira
>> >
>>
>
>
>
> --
> Gabriel Cardoso
> Ramal 6584 - (21) 96601-4664
> Profiling@BigData
>



-- 
Gabriel Cardoso
Ramal 6584 - (21) 96601-4664
Profiling@BigData

Reply via email to