SELECT
    {date_func}(StartDate) AS Date,
    {campaign_field} AS CampaignName,
    if(TrafficSource.ClickTargetType[indexOf(TrafficSource.Model, {attr_ID})] = 3, 'Networks', 'Search') AS Place,
    if(IsTablet = 0 AND IsMobile = 1, 'Mobile', 'Desktop') AS Device,
    multiIf(
        match(TrafficSource.ClickOptions[indexOf(TrafficSource.Model, {attr_ID})], 'performance'), 'smart_banner',
        TrafficSource.ClickProductType[indexOf(TrafficSource.Model, {attr_ID})] = 'video-creative', 'video_ad',
        TrafficSource.ClickProductType[indexOf(TrafficSource.Model, {attr_ID})] IN ('auto-video-direct', 'video-motion'), 'video_extensions',
        TrafficSource.ClickProductType[indexOf(TrafficSource.Model, {attr_ID})] IN ('media-image', 'media-creative') AND Place = 'Search', 'search_banner',
        TrafficSource.ClickProductType[indexOf(TrafficSource.Model, {attr_ID})] IN ('media-image', 'media-creative') AND Place = 'Networks', 'image_ad',
        match(TrafficSource.ClickOptions[indexOf(TrafficSource.Model, {attr_ID})], 'dynamic-banner'), 'dynamic_banner',
        'text_image_ad'
    ) AS BannerType,
    multiIf(
        TrafficSource.ClickSelectType[indexOf(TrafficSource.Model, {attr_ID})] IN (27, 45, 67) OR TrafficSource.ClickContextType[indexOf(TrafficSource.Model, {attr_ID})] = 2, 'retargeting',
        TrafficSource.ClickContextType[indexOf(TrafficSource.Model, {attr_ID})] = 3 AND TrafficSource.ClickSimDistance[indexOf(TrafficSource.Model, {attr_ID})] in (8, 44, 45, 48, 308, 341, 342, 343, 344, 345, 408, 508, 908, 941, 942, 943, 944, 945, 1108, 1408, 1508, 1608, 1708, 1808, 1908, 2008), 'synonym',
        TrafficSource.ClickContextType[indexOf(TrafficSource.Model, {attr_ID})] = 3, 'broadmatch',
        match(TrafficSource.ClickOptions[indexOf(TrafficSource.Model, {attr_ID})], 'navig-source') OR match(TrafficSource.ClickOptions[indexOf(TrafficSource.Model, {attr_ID})], 'navig-list-match'), 'navig',
        Place = 'Search', 'phrase_other',
        'phrase'
    ) AS TargetingType,
    {visits} AS Visits,
    sumIf(Sign, {goals_condition}) AS GoalVisits,
    sum(Sign * arrayCount(x -> x IN ({goals}), Goals.ID)) AS GoalReaches,
    sumIf(Sign, notEmpty(EPurchaseWithProducts.ID)) AS EcommerceOrderVisits,
    sumIf(Sign, notEmpty(EPurchaseWithProducts.ID) OR {goals_condition}) AS MergedGoalVisits,
    sum((Sign * arraySum(EPurchase.Revenue)) / 1000000) AS OrderedRevenue,
    {bounces} AS Bounces,
    {views} AS PageViews,
    {duration} AS Duration
FROM visits_all
WHERE
    not match(TrafficSource.ClickOptions[indexOf(TrafficSource.Model, {attr_ID})], 'mobile-app')
    AND StartDate >= '{from_date}' AND StartDate < '{to_date}'
    AND CounterID IN ({counters})
    AND (TrafficSource.ClickPlaceID[indexOf(TrafficSource.Model, {attr_ID})] = 542 AND if((StartDate >= '2018-05-31'), TrafficSource.ClickIsGoodConversion[indexOf(TrafficSource.Model, {attr_ID})], TrafficSource.ClickGoodEvent[indexOf(TrafficSource.Model, {attr_ID})] > 0))
    {clids_condition}
    {cids_condition}
    {regions_condition}
GROUP BY
    Date,
    CampaignName,
    Place,
    Device,
    BannerType,
    TargetingType
