├── tests └── .gitkeep ├── .github ├── CODEOWNERS ├── pull_request_template.md └── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md ├── .gitignore ├── integration_tests ├── packages.yml ├── .gitignore ├── README.md ├── dbt_project.yml ├── seeds │ └── example_segment_pages.csv ├── Makefile └── ci │ └── sample.profiles.yml ├── packages.yml ├── models ├── base │ ├── schema.yml │ ├── docs.md │ └── segment_web_page_views.sql └── sessionization │ ├── segment_web_sessions__stitched.sql │ ├── schema.yml │ ├── segment_web_user_stitching.sql │ ├── segment_web_sessions.sql │ ├── docs.md │ ├── segment_web_sessions__initial.sql │ └── segment_web_page_views__sessionized.sql ├── seeds ├── seeds.yml └── referrer_mapping.csv ├── dbt_project.yml ├── CHANGELOG.md ├── macros └── generate_sessionization_incremental_filter.sql ├── analysis └── mode_queries │ └── audience_overview.sql ├── README.md ├── .circleci └── config.yml └── LICENSE /tests/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @clrcrl 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | target/ 3 | dbt_modules/ 4 | logs/ 5 | -------------------------------------------------------------------------------- /integration_tests/packages.yml: -------------------------------------------------------------------------------- 1 | packages: 2 | - local: ../ 3 | -------------------------------------------------------------------------------- /integration_tests/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | target/ 3 | dbt_modules/ 4 | logs/ 5 | -------------------------------------------------------------------------------- /packages.yml: -------------------------------------------------------------------------------- 1 | packages: 2 | - package: dbt-labs/dbt_utils 3 | version: [">=1.0.0", "<2.0.0"] 4 | -------------------------------------------------------------------------------- /integration_tests/README.md: -------------------------------------------------------------------------------- 1 | ### dbt integration test suite for segment 2 | 3 | These simply test that the package doesn't throw an error. No quality assurance 4 | is done on the results. 5 | -------------------------------------------------------------------------------- /models/base/schema.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | 3 | models: 4 | - name: segment_web_page_views 5 | description: "{{doc('segment_web_page_views')}}" 6 | columns: 7 | - name: page_view_id 8 | tests: 9 | - unique 10 | - not_null 11 | -------------------------------------------------------------------------------- /integration_tests/dbt_project.yml: -------------------------------------------------------------------------------- 1 | name: 'segment_integration_tests' 2 | version: '1.0' 3 | config-version: 2 4 | 5 | seed-paths: ["seeds"] 6 | 7 | profile: 'integration_tests' 8 | 9 | vars: 10 | segment: 11 | segment_page_views_table: "{{ ref('example_segment_pages') }}" 12 | 13 | seeds: 14 | +quote_columns: false 15 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Description & motivation 2 | 5 | 6 | ## Checklist 7 | - [ ] I have verified that these changes work locally 8 | - [ ] I have updated the README.md (if applicable) 9 | - [ ] I have added tests & descriptions to my models (and macros if applicable) 10 | -------------------------------------------------------------------------------- /models/base/docs.md: -------------------------------------------------------------------------------- 1 | ### segment_web_page_views 2 | 3 | {% docs segment_web_page_views %} 4 | 5 | This is a base model for Segment's web page views table. It does some straightforward renaming and parsing of Segment raw data in this table. 6 | If a page view id has multiple entries in the source table then deduplication is done to keep the row with the earliest `received_at` timestamp. 7 | 8 | {% enddocs %} 9 | -------------------------------------------------------------------------------- /seeds/seeds.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | 3 | seeds: 4 | - name: referrer_mapping 5 | description: "This is a CSV version of Snowplow's [referer parser database](https://github.com/snowplow-referer-parser/referer-parser)" 6 | columns: 7 | - name: medium 8 | tests: 9 | - not_null 10 | 11 | - name: source 12 | tests: 13 | - not_null 14 | 15 | - name: host 16 | tests: 17 | - unique 18 | - not_null 19 | -------------------------------------------------------------------------------- /integration_tests/seeds/example_segment_pages.csv: -------------------------------------------------------------------------------- 1 | id,anonymous_id,user_id,received_at,sent_at,timestamp,url,path,title,search,referrer,context_campaign_source,context_campaign_medium,context_campaign_name,context_campaign_term,context_campaign_content,context_ip,context_user_agent 2 | ajs-9527e97fc714abe02a23b3d24cf09a36,507f191e810c19729de860ea,97980cfea0067,2015-02-23 22:28:55,2015-02-23 22:28:55,2015-02-23 22:28:55,https://www.getdbt.com/,/product,Product,?name=ferret,https://www.google.com/,facebook,social,autumn_collection_2015,foo,bar,8.8.8.8,"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36" 3 | -------------------------------------------------------------------------------- /integration_tests/Makefile: -------------------------------------------------------------------------------- 1 | test-redshift: 2 | dbt deps 3 | dbt seed --target redshift 4 | dbt run --target redshift --full-refresh 5 | dbt run --target redshift 6 | dbt test --target redshift 7 | 8 | test-snowflake: 9 | dbt deps 10 | dbt seed --target snowflake 11 | dbt run --target snowflake --full-refresh 12 | dbt run --target snowflake 13 | dbt test --target snowflake 14 | 15 | test-bigquery: 16 | dbt deps 17 | dbt seed --target bigquery 18 | dbt run --target bigquery --full-refresh 19 | dbt run --target bigquery 20 | dbt test --target bigquery 21 | 22 | test-postgres: 23 | dbt deps 24 | dbt seed --target postgres 25 | dbt run --target postgres --full-refresh 26 | dbt run --target postgres 27 | dbt test --target postgres 28 | 29 | test-all: test-redshift test-snowflake test-bigquery test-postgres 30 | echo "Completed successfully" 31 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this package 4 | title: '' 5 | labels: enhancement, triage 6 | assignees: '' 7 | 8 | --- 9 | 10 | ### Describe the feature 11 | A clear and concise description of what you want to happen. 12 | 13 | ### Describe alternatives you've considered 14 | A clear and concise description of any alternative solutions or features you've considered. 15 | 16 | ### Additional context 17 | Is this feature database-specific? Which database(s) is/are relevant? Please include any other relevant context here. 18 | 19 | ### Who will this benefit? 20 | What kind of use case will this feature be useful for? Please be specific and provide examples, this will help us prioritize properly. 21 | 22 | ### Are you interested in contributing this feature? 23 | 26 | -------------------------------------------------------------------------------- /models/sessionization/segment_web_sessions__stitched.sql: -------------------------------------------------------------------------------- 1 | {{ config( 2 | materialized = 'incremental', 3 | unique_key = 'session_id', 4 | sort = 'session_start_tstamp', 5 | partition_by = {'field': 'session_start_tstamp', 'data_type': 'timestamp', 'granularity': var('segment_bigquery_partition_granularity')}, 6 | dist = 'session_id', 7 | cluster_by = 'session_id' 8 | )}} 9 | 10 | with sessions as ( 11 | 12 | select * from {{ref('segment_web_sessions__initial')}} 13 | 14 | {% if is_incremental() %} 15 | {{ 16 | generate_sessionization_incremental_filter( this, 'session_start_tstamp', 'session_start_tstamp', '>' ) 17 | }} 18 | {% endif %} 19 | 20 | ), 21 | 22 | id_stitching as ( 23 | 24 | select * from {{ref('segment_web_user_stitching')}} 25 | 26 | ), 27 | 28 | joined as ( 29 | 30 | select 31 | 32 | sessions.*, 33 | 34 | coalesce(id_stitching.user_id, sessions.anonymous_id) 35 | as blended_user_id 36 | 37 | from sessions 38 | left join id_stitching using (anonymous_id) 39 | 40 | ) 41 | 42 | select * from joined 43 | -------------------------------------------------------------------------------- /models/sessionization/schema.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | 3 | models: 4 | - name: segment_web_user_stitching 5 | description: "{{doc('segment_web_user_stitching')}}" 6 | columns: 7 | - name: anonymous_id 8 | tests: 9 | - unique 10 | - not_null 11 | 12 | - name: segment_web_page_views__sessionized 13 | description: "{{doc('segment_web_page_views__sessionized')}}" 14 | columns: 15 | - name: page_view_id 16 | tests: 17 | - unique 18 | - not_null 19 | 20 | - name: segment_web_sessions__initial 21 | description: "{{doc('segment_web_sessions__initial')}}" 22 | columns: 23 | - name: session_id 24 | tests: 25 | - unique 26 | - not_null 27 | 28 | - name: segment_web_sessions__stitched 29 | description: "{{doc('segment_web_sessions__stitched')}}" 30 | columns: 31 | - name: session_id 32 | description: '' 33 | tests: 34 | - unique 35 | - not_null 36 | 37 | - name: segment_web_sessions 38 | description: "{{doc('segment_web_sessions')}}" 39 | columns: 40 | - name: session_id 41 | description: '' 42 | tests: 43 | - unique 44 | - not_null -------------------------------------------------------------------------------- /models/sessionization/segment_web_user_stitching.sql: -------------------------------------------------------------------------------- 1 | {{config(materialized = 'table')}} 2 | 3 | with events as ( 4 | 5 | select * from {{ref('segment_web_page_views')}} 6 | 7 | ), 8 | 9 | mapping as ( 10 | 11 | select distinct 12 | 13 | anonymous_id, 14 | 15 | {# 16 | Postgres doesn't have "ignore nulls", so instead we partition over 17 | anonymous_id and order the user_ids within it such that non-null 18 | values come up last, sorted secondarily by increasing tstamp. 19 | #} 20 | 21 | last_value(user_id {% if target.type != "postgres" -%} ignore nulls {%- endif -%}) over ( 22 | partition by anonymous_id 23 | order by 24 | {% if target.type == "postgres" -%} 25 | case when user_id is not null then 1 else 0 end asc, 26 | {%- endif %} 27 | tstamp 28 | rows between unbounded preceding and unbounded following 29 | ) as user_id, 30 | 31 | min(tstamp) over ( 32 | partition by anonymous_id 33 | ) as first_seen_at, 34 | 35 | max(tstamp) over ( 36 | partition by anonymous_id 37 | ) as last_seen_at 38 | 39 | from events 40 | 41 | ) 42 | 43 | select * from mapping 44 | -------------------------------------------------------------------------------- /dbt_project.yml: -------------------------------------------------------------------------------- 1 | name: 'segment' 2 | version: '0.7.0' 3 | require-dbt-version: [">=1.3.0", "<2.0.0"] 4 | config-version: 2 5 | 6 | model-paths: ["models"] 7 | analysis-paths: ["analyses"] 8 | test-paths: ["tests"] 9 | seed-paths: ["seeds"] 10 | macro-paths: ["macros"] 11 | 12 | target-path: "target" 13 | clean-targets: 14 | - "target" 15 | - "dbt_packages" 16 | 17 | vars: 18 | # location of raw data table 19 | segment_page_views_table: 20 | 21 | # number of trailing hours to re-sessionize for. 22 | # events can come in late and we want to still be able to incorporate 23 | # them into the definition of a session without needing a full refresh. 24 | segment_sessionization_trailing_window: 3 25 | 26 | # sessionization inactivity cutoff: of there is a gap in page view times 27 | # that exceeds this number of seconds, the subsequent page view will 28 | # start a new session. 29 | segment_inactivity_cutoff: 30 * 60 30 | 31 | # If there are extra columns you wish to pass through this package, 32 | # define them here. Columns will be included in the `segment_web_sessions` 33 | # model as `first_` and `last_`. Extremely useful when 34 | # using this package on top of unioned Segment sources, as you can then 35 | # pass through a column indicating which source the data is from. 36 | segment_pass_through_columns: [] 37 | 38 | # BigQuery only: partition granularity for partition_by clause 39 | # options can be found here: https://docs.getdbt.com/reference/resource-configs/bigquery-configs#partition-clause 40 | segment_bigquery_partition_granularity: "day" -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # segment v0.8.1 2 | ## Fixes 3 | - Fix duplication of sources in incremental materializations ([#80](https://github.com/dbt-labs/segment/issues/80), [#81](https://github.com/dbt-labs/segment/pull/81)) 4 | 5 | Contributors: 6 | - [rjh336](https://github.com/rjh336) (#81) 7 | 8 | # segment v0.8.0 9 | ## New Features 10 | - Postgres Support ([#69](https://github.com/dbt-labs/segment/issues/69), [#70](https://github.com/dbt-labs/segment/pull/70)) 11 | 12 | ## Improvements 13 | - Significantly improved BigQuery performance ([#72](https://github.com/dbt-labs/segment/issues/72), [#73](https://github.com/dbt-labs/segment/pull/73)) 14 | - Deduplication of source page views ([#76](https://github.com/dbt-labs/segment/pull/76)) 15 | 16 | Contributors: 17 | - [shippy](https://github.com/shippy) (#70) 18 | - [rjh336](https://github.com/rjh336) (#73) 19 | - [MarkMacArdle](https://github.com/MarkMacArdle) (#76) 20 | 21 | # segment v0.7.0 22 | 23 | This release supports any version (minor and patch) of v1, which means far less need for compatibility releases in the future. 24 | 25 | ## Under the hood 26 | - Change `require-dbt-version` to `[">=1.0.0", "<2.0.0"]` 27 | - Bump dbt-utils dependency 28 | - Replace `source-paths` and `data-paths` with `model-paths` and `seed-paths` respectively 29 | - Rename `data` and `analysis` directories to `seeds` and `analyses` respectively 30 | - Replace `dbt_modules` with `dbt_packages` in `clean-targets` 31 | 32 | # segment v0.6.1 33 | 🚨 This is a compatibility release in preparation for `dbt-core` v1.0.0 (🎉). Projects using this version with `dbt-core` v1.0.x can expect to see a deprecation warning. This will be resolved in the next minor release. 34 | -------------------------------------------------------------------------------- /macros/generate_sessionization_incremental_filter.sql: -------------------------------------------------------------------------------- 1 | {% macro generate_sessionization_incremental_filter(merge_target, filter_tstamp, max_tstamp, operator) %} 2 | {{ return(adapter.dispatch('generate_sessionization_incremental_filter', 'segment') (merge_target, filter_tstamp, max_tstamp, operator)) }} 3 | {% endmacro %} 4 | 5 | 6 | {% macro default__generate_sessionization_incremental_filter(merge_target, filter_tstamp, max_tstamp, operator) %} 7 | where {{ filter_tstamp }} {{ operator }} ( 8 | select 9 | {{ dbt.dateadd( 10 | 'hour', 11 | -var('segment_sessionization_trailing_window'), 12 | 'max(' ~ max_tstamp ~ ')' 13 | ) }} 14 | from {{ merge_target }} 15 | ) 16 | {%- endmacro -%} 17 | 18 | {% macro bigquery__generate_sessionization_incremental_filter(merge_target, filter_tstamp, max_tstamp, operator) %} 19 | where {{ filter_tstamp }} {{ operator }} ( 20 | select 21 | timestamp_sub( 22 | max({{ max_tstamp }}), 23 | interval {{ var('segment_sessionization_trailing_window') }} hour 24 | ) 25 | from {{ merge_target }} 26 | ) 27 | {%- endmacro -%} 28 | 29 | {% macro postgres__generate_sessionization_incremental_filter(merge_target, filter_tstamp, max_tstamp, operator) %} 30 | where cast({{ filter_tstamp }} as timestamp) {{ operator }} ( 31 | select 32 | {{ dbt.dateadd( 33 | 'hour', 34 | -var('segment_sessionization_trailing_window'), 35 | 'max(' ~ max_tstamp ~ ')' 36 | ) }} 37 | from {{ merge_target }} 38 | ) 39 | {%- endmacro -%} -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Report a bug or an issue you've found with this package 4 | title: '' 5 | labels: bug, triage 6 | assignees: '' 7 | 8 | --- 9 | 10 | ### Describe the bug 11 | 14 | 15 | ### Steps to reproduce 16 | 19 | 20 | ### Expected results 21 | 24 | 25 | ### Actual results 26 | 29 | 30 | ### Screenshots and log output 31 | 34 | 35 | ### System information 36 | **The contents of your `packages.yml` file:** 37 | 38 | **Which database are you using dbt with?** 39 | - [ ] postgres 40 | - [ ] redshift 41 | - [ ] bigquery 42 | - [ ] snowflake 43 | - [ ] other (specify: ____________) 44 | 45 | 46 | **The output of `dbt --version`:** 47 | ``` 48 | 49 | ``` 50 | 51 | **The operating system you're using:** 52 | 53 | **The output of `python --version`:** 54 | 55 | ### Additional context 56 | 59 | 60 | ### Are you interested in contributing the fix? 61 | 64 | -------------------------------------------------------------------------------- /analysis/mode_queries/audience_overview.sql: -------------------------------------------------------------------------------- 1 | {#- 2 | -- When compiled, the following query can be used in Mode to calculate the 3 | -- metrics required for an audience overview similar to the one found in GA. 4 | -- Since the Liquid `form` tag looks similar to a Jinja tag, dbt is erroring 5 | -- when compiling as `form` is an unknown tag in Jinja (even when it is wrapped 6 | -- in a `raw` tag). 7 | -- As a result, when adding to Mode, replace the comments with the correct tags. 8 | -#} 9 | 10 | with source as ( 11 | 12 | select * from {{ref('segment_web_sessions')}} 13 | 14 | ) 15 | 16 | , final as ( 17 | 18 | select 19 | date_trunc({% raw %}'{{date_part}}'{% endraw %}, session_start_tstamp)::date as period, 20 | 21 | count(*) as sessions, 22 | count(distinct blended_user_id) as distinct_users, 23 | sum(page_views) as page_views, 24 | 1.0 * sum(page_views) / nullif(count(*), 0) as pages_per_session, 25 | avg(duration_in_s) as avg_session_duration, 26 | 1.0 * sum(case when page_views = 1 then 1 else 0 end) / 27 | nullif(count(*), 0) as bounce_rate, 28 | sum(case when session_number = 1 then 1 else 0 end) as new_sessions, 29 | sum(case when session_number > 1 then 1 else 0 end) as repeat_sessions 30 | 31 | from source 32 | 33 | where session_start_tstamp >= '{% raw %}{{start_date}}{% endraw %}' 34 | and session_start_tstamp < '{% raw %}{{end_date}}{% endraw %}' 35 | 36 | group by 1 37 | 38 | ) 39 | 40 | select * from final 41 | 42 | -- A form tag needs to go here 43 | 44 | date_part: 45 | type: select 46 | default: day 47 | options: [hour, day, week, month] 48 | 49 | start_date: 50 | type: date 51 | default: 2018-11-01 52 | 53 | end_date: 54 | type: date 55 | default: 2018-12-01 56 | 57 | -- An endform tag needs to go here 58 | -------------------------------------------------------------------------------- /integration_tests/ci/sample.profiles.yml: -------------------------------------------------------------------------------- 1 | 2 | # HEY! This file is used in the Segment integrations tests with CircleCI. 3 | # You should __NEVER__ check credentials into version control. Thanks for reading :) 4 | 5 | config: 6 | send_anonymous_usage_stats: False 7 | use_colors: True 8 | 9 | integration_tests: 10 | target: redshift 11 | outputs: 12 | redshift: 13 | type: redshift 14 | host: "{{ env_var('REDSHIFT_TEST_HOST') }}" 15 | user: "{{ env_var('REDSHIFT_TEST_USER') }}" 16 | pass: "{{ env_var('REDSHIFT_TEST_PASS') }}" 17 | dbname: "{{ env_var('REDSHIFT_TEST_DBNAME') }}" 18 | port: "{{ env_var('REDSHIFT_TEST_PORT') | as_number }}" 19 | schema: segment_integration_tests_redshift 20 | threads: 1 21 | 22 | snowflake: 23 | type: snowflake 24 | account: "{{ env_var('SNOWFLAKE_TEST_ACCOUNT') }}" 25 | user: "{{ env_var('SNOWFLAKE_TEST_USER') }}" 26 | password: "{{ env_var('SNOWFLAKE_TEST_PASSWORD') }}" 27 | role: "{{ env_var('SNOWFLAKE_TEST_ROLE') }}" 28 | database: "{{ env_var('SNOWFLAKE_TEST_DATABASE') }}" 29 | warehouse: "{{ env_var('SNOWFLAKE_TEST_WAREHOUSE') }}" 30 | schema: segment_integration_tests_snowflake 31 | threads: 1 32 | 33 | bigquery: 34 | type: bigquery 35 | method: service-account 36 | keyfile: "{{ env_var('BIGQUERY_SERVICE_KEY_PATH') }}" 37 | project: "{{ env_var('BIGQUERY_TEST_DATABASE') }}" 38 | schema: segment_integration_tests_bigquery 39 | threads: 1 40 | 41 | postgres: 42 | type: postgres 43 | host: "{{ env_var('POSTGRES_TEST_HOST') }}" 44 | user: "{{ env_var('POSTGRES_TEST_USER') }}" 45 | pass: "{{ env_var('POSTGRES_TEST_PASS') }}" 46 | dbname: "{{ env_var('POSTGRES_TEST_DBNAME') }}" 47 | port: "{{ env_var('POSTGRES_TEST_PORT') | as_number }}" 48 | schema: segment_integration_tests_postgres 49 | threads: 1 50 | keepalives_idle: 0 51 | -------------------------------------------------------------------------------- /models/sessionization/segment_web_sessions.sql: -------------------------------------------------------------------------------- 1 | {{ config( 2 | materialized = 'incremental', 3 | unique_key = 'session_id', 4 | sort = 'session_start_tstamp', 5 | partition_by = {'field': 'session_start_tstamp', 'data_type': 'timestamp', 'granularity': var('segment_bigquery_partition_granularity')}, 6 | dist = 'session_id', 7 | cluster_by = 'session_id' 8 | )}} 9 | 10 | {# 11 | Window functions are challenging to make incremental. This approach grabs 12 | existing values from the existing table and then adds the value of session_number 13 | on top of that seed. During development, this decreased the model runtime 14 | by 25x on 2 years of data (from 600 to 25 seconds), so even though the code is 15 | more complicated, the performance tradeoff is worth it. 16 | #} 17 | 18 | with sessions as ( 19 | 20 | select * from {{ref('segment_web_sessions__stitched')}} 21 | 22 | {% if is_incremental() %} 23 | {{ 24 | generate_sessionization_incremental_filter( this, 'session_start_tstamp', 'session_start_tstamp', '>' ) 25 | }} 26 | {% endif %} 27 | 28 | ), 29 | 30 | {% if is_incremental() %} 31 | 32 | agg as ( 33 | 34 | select 35 | blended_user_id, 36 | count(*) as starting_session_number 37 | from {{this}} 38 | 39 | -- only include sessions that are not going to be resessionized in this run 40 | {{ 41 | generate_sessionization_incremental_filter( this, 'session_start_tstamp', 'session_start_tstamp', '<=' ) 42 | }} 43 | 44 | group by 1 45 | 46 | ), 47 | 48 | {% endif %} 49 | 50 | windowed as ( 51 | 52 | select 53 | 54 | *, 55 | 56 | row_number() over ( 57 | partition by blended_user_id 58 | order by sessions.session_start_tstamp 59 | ) 60 | {% if is_incremental() %}+ coalesce(agg.starting_session_number, 0) {% endif %} 61 | as session_number 62 | 63 | from sessions 64 | 65 | {% if is_incremental() %} 66 | left join agg using (blended_user_id) 67 | {% endif %} 68 | 69 | 70 | ) 71 | 72 | select * from windowed 73 | -------------------------------------------------------------------------------- /models/base/segment_web_page_views.sql: -------------------------------------------------------------------------------- 1 | with source as ( 2 | 3 | select * from {{var('segment_page_views_table')}} 4 | 5 | ), 6 | 7 | row_numbering as ( 8 | 9 | select 10 | *, 11 | row_number() over (partition by id order by received_at asc) as row_num 12 | from source 13 | 14 | ), 15 | 16 | deduped as ( 17 | 18 | select 19 | * 20 | from row_numbering 21 | where row_num = 1 22 | 23 | ), 24 | 25 | renamed as ( 26 | 27 | select 28 | 29 | id as page_view_id, 30 | anonymous_id, 31 | user_id, 32 | 33 | received_at as received_at_tstamp, 34 | sent_at as sent_at_tstamp, 35 | timestamp as tstamp, 36 | 37 | url as page_url, 38 | {{ dbt_utils.get_url_host('url') }} as page_url_host, 39 | path as page_url_path, 40 | title as page_title, 41 | search as page_url_query, 42 | 43 | referrer, 44 | replace( 45 | {{ dbt_utils.get_url_host('referrer') }}, 46 | 'www.', 47 | '' 48 | ) as referrer_host, 49 | 50 | context_campaign_source as utm_source, 51 | context_campaign_medium as utm_medium, 52 | context_campaign_name as utm_campaign, 53 | context_campaign_term as utm_term, 54 | context_campaign_content as utm_content, 55 | {{ dbt_utils.get_url_parameter('url', 'gclid') }} as gclid, 56 | context_ip as ip, 57 | context_user_agent as user_agent, 58 | case 59 | when lower(context_user_agent) like '%android%' then 'Android' 60 | else replace( 61 | {{ dbt.split_part(dbt.split_part('context_user_agent', "'('", 2), "' '", 1) }}, 62 | ';', '') 63 | end as device 64 | 65 | {% if var('segment_pass_through_columns') != [] %} 66 | , 67 | {{ var('segment_pass_through_columns') | join (", ")}} 68 | 69 | {% endif %} 70 | 71 | from deduped 72 | 73 | ), 74 | 75 | final as ( 76 | 77 | select 78 | *, 79 | case 80 | when device = 'iPhone' then 'iPhone' 81 | when device = 'Android' then 'Android' 82 | when device in ('iPad', 'iPod') then 'Tablet' 83 | when device in ('Windows', 'Macintosh', 'X11') then 'Desktop' 84 | else 'Uncategorized' 85 | end as device_category 86 | from renamed 87 | 88 | ) 89 | 90 | select * from final 91 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ***Archival Notice*** 2 | This repository has been archived. 3 | 4 | As a result all of its historical issues and PRs have been closed. 5 | 6 | Please *do not clone* this repo without understanding the risk in doing so: 7 | - It may have unaddressed security vulnerabilities 8 | - It may have unaddressed bugs 9 | 10 |
11 | Click for historical readme 12 | 13 | > ⛔🏚️ This package is no longer developed or maintained by dbt Labs. A fork is maintained at https://github.com/fleetio/dbt-segment 14 | 15 | # dbt-segment 16 | This [dbt package](https://docs.getdbt.com/docs/package-management): 17 | * Performs "user stitching" to tie all events associated with a cookie to the same user_id 18 | * Transforms pageviews into sessions ("sessionization") 19 | 20 | 21 | ## Installation instructions 22 | New to dbt packages? Read more about them [here](https://docs.getdbt.com/docs/building-a-dbt-project/package-management/). 23 | 1. Include this package in your `packages.yml` — check [here](https://hub.getdbt.com/dbt-labs/segment/latest/) for the latest version number. 24 | 2. Run `dbt deps` 25 | 3. Include the following in your `dbt_project.yml` directly within your `vars:` block (making sure to handle indenting appropriately). **Update the value to point to your segment page views table**. 26 | 27 | ```YAML 28 | # dbt_project.yml 29 | config-version: 2 30 | ... 31 | 32 | vars: 33 | segment: 34 | segment_page_views_table: "{{ source('segment', 'pages') }}" 35 | 36 | ``` 37 | This package assumes that your data is in a structure similar to the test 38 | file included in [example_segment_pages](integration_tests/seeds/example_segment_pages.csv). 39 | You may have to do some pre-processing in an upstream model to get it into this shape. 40 | Similarly, if you need to union multiple sources, de-duplicate records, or filter 41 | out bad records, do this in an upstream model. 42 | 43 | 4. Optionally configure extra parameters by adding them to your own `dbt_project.yml` file – see [dbt_project.yml](dbt_project.yml) 44 | for more details: 45 | 46 | ```YAML 47 | # dbt_project.yml 48 | config-version: 2 49 | 50 | ... 51 | 52 | vars: 53 | segment: 54 | segment_page_views_table: "{{ source('segment', 'pages') }}" 55 | segment_sessionization_trailing_window: 3 56 | segment_inactivity_cutoff: 30 * 60 57 | segment_pass_through_columns: [] 58 | segment_bigquery_partition_granularity: 'day' # BigQuery only: partition granularity for `partition_by` config 59 | 60 | ``` 61 | 5. Execute `dbt seed` -- this project includes a CSV that must be seeded for it 62 | the package to run successfully. 63 | 6. Execute `dbt run` – the Segment models will get built as part of your run! 64 | 65 | ## Database support 66 | This package has been tested on Redshift, Snowflake, BigQuery, and Postgres. 67 | 68 | -------------------------------------------------------------------------------- /models/sessionization/docs.md: -------------------------------------------------------------------------------- 1 | ### segment_web_user_stitching 2 | 3 | {% docs segment_web_user_stitching %} 4 | 5 | This model performs "user stitching" on top of web event data. User stitching is the process of tying all events associated with a cookie to the same user_id, and solves a common problem in event analytics that users are only identified part way through their activity stream. This model returns a single user_id for every anonymous_id, and is later joined in to build a `blended_user_id` field, that acts as the primary user identifier for all sessions. 6 | 7 | {% enddocs %} 8 | 9 | 10 | ### segment_web_page_views__sessionized 11 | 12 | {% docs segment_web_page_views__sessionized %} 13 | 14 | The purpose of this model is to assign a `session_id` to page views. The business logic of how this is done is that any period of inactivity of 30 minutes or more resets the session, and any subsequent page views are assigned a new `session_id`. 15 | 16 | The implementation of this logic is rather involved, and requires multiple CTEs. Comments have been added to the source to describe the purpose of the CTEs that are more esoteric. 17 | 18 | {% enddocs %} 19 | 20 | 21 | ### segment_web_sessions__initial 22 | 23 | {% docs segment_web_sessions__initial %} 24 | 25 | This model performs the aggregation of page views into sessions. The `session_id` having already been calculated in `segment_web_page_views__sessionized`, this model simply calls a bunch of window functions to grab the first or last value of a given field and store it at the session level. 26 | 27 | {% enddocs %} 28 | 29 | 30 | ### segment_web_sessions__stitched 31 | 32 | {% docs segment_web_sessions__stitched %} 33 | 34 | This model joins initial session data with user stitching to get the field `blended_user_id`, the id for a user across all devices that they can be identified on. This logic is broken out from other models because, while incremental, it will frequently need to be rebuilt from scratch: this is because the user stitching process can change the `blended_user_id` values for historical sessions. 35 | 36 | It is recommended to typically run this model in its default configuration (incrementally) but on some regular basis to do a `dbt run --full-refresh --models segment_web_sessions__stitched+` so that this model and downstream models get rebuilt. 37 | 38 | {% enddocs %} 39 | 40 | 41 | ### segment_web_sessions 42 | 43 | {% docs segment_web_sessions %} 44 | 45 | The purpose of this model is to expose a single web session, derived from Segment web events. Sessions are the most common way that analysis of web visitor behavior is conducted, and although Segment doesn't natively output session data, this model uses standard logic to create sessions out of page view events. 46 | 47 | A session is meant to represent a single instance of web activity where a user is actively browsing a website. In this case, we are demarcating sessions by 30 minute windows of inactivity: if there is 30 minutes of inactivity between two page views, the second page view begins a new session. Additionally, page views across different devices will always be tied to different sessions. 48 | 49 | The logic implemented in this particular model is responsible for incrementally calculating a user's session number; the core sessionization logic is done in upstream models. 50 | 51 | {% enddocs %} 52 | -------------------------------------------------------------------------------- /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | 2 | version: 2 3 | 4 | jobs: 5 | build: 6 | docker: 7 | - image: cimg/python:3.9.9 8 | - image: circleci/postgres:9.6.5-alpine-ram 9 | 10 | steps: 11 | - checkout 12 | 13 | - run: 14 | run: setup_creds 15 | command: | 16 | echo $BIGQUERY_SERVICE_ACCOUNT_JSON > ${HOME}/bigquery-service-key.json 17 | 18 | - restore_cache: 19 | key: deps1-{{ .Branch }} 20 | 21 | - run: 22 | name: "Setup dbt" 23 | command: | 24 | python3 -m venv dbt_venv 25 | . dbt_venv/bin/activate 26 | 27 | pip install --upgrade pip setuptools 28 | pip install --pre dbt-core dbt-postgres dbt-redshift dbt-snowflake dbt-bigquery 29 | 30 | mkdir -p ~/.dbt 31 | cp integration_tests/ci/sample.profiles.yml ~/.dbt/profiles.yml 32 | 33 | - run: 34 | name: "Run Tests - Postgres" 35 | environment: 36 | POSTGRES_TEST_HOST: localhost 37 | POSTGRES_TEST_USER: root 38 | POSTGRES_TEST_PASS: '' 39 | POSTGRES_TEST_PORT: 5432 40 | POSTGRES_TEST_DBNAME: circle_test 41 | command: | 42 | . dbt_venv/bin/activate 43 | echo `pwd` 44 | cd integration_tests 45 | dbt --warn-error deps 46 | dbt --warn-error seed --target postgres 47 | dbt --warn-error run --target postgres --full-refresh 48 | dbt --warn-error run --target postgres 49 | 50 | 51 | - run: 52 | name: "Run Tests - Redshift" 53 | command: | 54 | . dbt_venv/bin/activate 55 | echo `pwd` 56 | cd integration_tests 57 | dbt --warn-error deps 58 | dbt --warn-error seed --target redshift 59 | dbt --warn-error run --target redshift --full-refresh 60 | dbt --warn-error run --target redshift 61 | 62 | - run: 63 | name: "Run Tests - Snowflake" 64 | command: | 65 | . dbt_venv/bin/activate 66 | echo `pwd` 67 | cd integration_tests 68 | dbt --warn-error deps 69 | dbt --warn-error seed --target snowflake 70 | dbt --warn-error run --target snowflake --full-refresh 71 | dbt --warn-error run --target snowflake 72 | 73 | - run: 74 | name: "Run Tests - BigQuery" 75 | environment: 76 | BIGQUERY_SERVICE_KEY_PATH: "/home/circleci/bigquery-service-key.json" 77 | 78 | command: | 79 | . dbt_venv/bin/activate 80 | echo `pwd` 81 | cd integration_tests 82 | dbt --warn-error deps 83 | dbt --warn-error seed --target bigquery 84 | dbt --warn-error run --target bigquery --full-refresh 85 | dbt --warn-error run --target bigquery 86 | 87 | - save_cache: 88 | key: deps1-{{ .Branch }} 89 | paths: 90 | - "dbt_venv" 91 | 92 | workflows: 93 | version: 2 94 | test-all: 95 | jobs: 96 | - build: 97 | context: 98 | - profile-redshift 99 | - profile-snowflake 100 | - profile-bigquery 101 | -------------------------------------------------------------------------------- /models/sessionization/segment_web_sessions__initial.sql: -------------------------------------------------------------------------------- 1 | {{ config( 2 | materialized = 'incremental', 3 | unique_key = 'session_id', 4 | sort = 'session_start_tstamp', 5 | partition_by = {'field': 'session_start_tstamp', 'data_type': 'timestamp', 'granularity': var('segment_bigquery_partition_granularity')}, 6 | dist = 'session_id', 7 | cluster_by = 'session_id' 8 | )}} 9 | 10 | {% set partition_by = "partition by session_id" %} 11 | 12 | {% set window_clause = " 13 | partition by session_id 14 | order by page_view_number 15 | rows between unbounded preceding and unbounded following 16 | " %} 17 | 18 | {% set first_values = { 19 | 'utm_source' : 'utm_source', 20 | 'utm_content' : 'utm_content', 21 | 'utm_medium' : 'utm_medium', 22 | 'utm_campaign' : 'utm_campaign', 23 | 'utm_term' : 'utm_term', 24 | 'gclid' : 'gclid', 25 | 'page_url' : 'first_page_url', 26 | 'page_url_host' : 'first_page_url_host', 27 | 'page_url_path' : 'first_page_url_path', 28 | 'page_url_query' : 'first_page_url_query', 29 | 'referrer' : 'referrer', 30 | 'referrer_host' : 'referrer_host', 31 | 'device' : 'device', 32 | 'device_category' : 'device_category' 33 | } %} 34 | 35 | {% set last_values = { 36 | 'page_url' : 'last_page_url', 37 | 'page_url_host' : 'last_page_url_host', 38 | 'page_url_path' : 'last_page_url_path', 39 | 'page_url_query' : 'last_page_url_query' 40 | } %} 41 | 42 | {% for col in var('segment_pass_through_columns') %} 43 | {% do first_values.update({col: 'first_' ~ col}) %} 44 | {% do last_values.update({col: 'last_' ~ col}) %} 45 | {% endfor %} 46 | 47 | with pageviews_sessionized as ( 48 | 49 | select * from {{ref('segment_web_page_views__sessionized')}} 50 | 51 | {% if is_incremental() %} 52 | {{ 53 | generate_sessionization_incremental_filter( this, 'tstamp', 'session_start_tstamp', '>' ) 54 | }} 55 | {% endif %} 56 | 57 | ), 58 | 59 | referrer_mapping as ( 60 | 61 | select * from {{ ref('referrer_mapping') }} 62 | 63 | ), 64 | 65 | agg as ( 66 | 67 | select distinct 68 | 69 | session_id, 70 | anonymous_id, 71 | min(tstamp) over ( {{partition_by}} ) as session_start_tstamp, 72 | max(tstamp) over ( {{partition_by}} ) as session_end_tstamp, 73 | count(*) over ( {{partition_by}} ) as page_views, 74 | 75 | {% for (key, value) in first_values.items() %} 76 | first_value({{key}}) over ({{window_clause}}) as {{value}}, 77 | {% endfor %} 78 | 79 | {% for (key, value) in last_values.items() %} 80 | last_value({{key}}) over ({{window_clause}}) as {{value}}{% if not loop.last %},{% endif %} 81 | {% endfor %} 82 | 83 | from pageviews_sessionized 84 | 85 | ), 86 | 87 | diffs as ( 88 | 89 | select 90 | 91 | *, 92 | 93 | {{ dbt.datediff('session_start_tstamp', 'session_end_tstamp', 'second') }} as duration_in_s 94 | 95 | from agg 96 | 97 | ), 98 | 99 | tiers as ( 100 | 101 | select 102 | 103 | *, 104 | 105 | case 106 | when duration_in_s between 0 and 9 then '0s to 9s' 107 | when duration_in_s between 10 and 29 then '10s to 29s' 108 | when duration_in_s between 30 and 59 then '30s to 59s' 109 | when duration_in_s > 59 then '60s or more' 110 | else null 111 | end as duration_in_s_tier 112 | 113 | from diffs 114 | 115 | ), 116 | 117 | mapped as ( 118 | 119 | select 120 | tiers.*, 121 | referrer_mapping.medium as referrer_medium, 122 | referrer_mapping.source as referrer_source 123 | 124 | from tiers 125 | 126 | left join referrer_mapping on tiers.referrer_host = referrer_mapping.host 127 | 128 | ) 129 | 130 | select * from mapped 131 | -------------------------------------------------------------------------------- /models/sessionization/segment_web_page_views__sessionized.sql: -------------------------------------------------------------------------------- 1 | {{ config( 2 | materialized = 'incremental', 3 | unique_key = 'page_view_id', 4 | sort = 'tstamp', 5 | partition_by = {'field': 'tstamp', 'data_type': 'timestamp', 'granularity': var('segment_bigquery_partition_granularity')}, 6 | dist = 'page_view_id', 7 | cluster_by = 'page_view_id' 8 | )}} 9 | 10 | {# 11 | the initial CTE in this model is unusually complicated; its function is to 12 | select all pageviews (for all time) for users who have pageviews since the 13 | model was most recently run. there are many window functions in this model so 14 | in order to appropriately calculate all of them we need each users entire 15 | page view history, but we only want to grab that for users who have page view 16 | events we need to calculate. 17 | #} 18 | 19 | with pageviews as ( 20 | 21 | select * from {{ref('segment_web_page_views')}} 22 | 23 | {% if is_incremental() %} 24 | where anonymous_id in ( 25 | select distinct anonymous_id 26 | from {{ref('segment_web_page_views')}} 27 | {{ 28 | generate_sessionization_incremental_filter( this, 'tstamp', 'tstamp', '>' ) 29 | }} 30 | ) 31 | {% endif %} 32 | 33 | ), 34 | 35 | numbered as ( 36 | 37 | --This CTE is responsible for assigning an all-time page view number for a 38 | --given anonymous_id. We don't need to do this across devices because the 39 | --whole point of this field is for sessionization, and sessions can't span 40 | --multiple devices. 41 | 42 | select 43 | 44 | *, 45 | 46 | row_number() over ( 47 | partition by anonymous_id 48 | order by tstamp 49 | ) as page_view_number 50 | 51 | from pageviews 52 | 53 | ), 54 | 55 | lagged as ( 56 | 57 | --This CTE is responsible for simply grabbing the last value of `tstamp`. 58 | --We'll use this downstream to do timestamp math--it's how we determine the 59 | --period of inactivity. 60 | 61 | select 62 | 63 | *, 64 | 65 | lag(tstamp) over ( 66 | partition by anonymous_id 67 | order by page_view_number 68 | ) as previous_tstamp 69 | 70 | from numbered 71 | 72 | ), 73 | 74 | diffed as ( 75 | 76 | --This CTE simply calculates `period_of_inactivity`. 77 | 78 | select 79 | *, 80 | {{ dbt.datediff('previous_tstamp', 'tstamp', 'second') }} as period_of_inactivity 81 | from lagged 82 | 83 | ), 84 | 85 | new_sessions as ( 86 | 87 | --This CTE calculates a single 1/0 field--if the period of inactivity prior 88 | --to this page view was greater than 30 minutes, the value is 1, otherwise 89 | --it's 0. We'll use this to calculate the user's session #. 90 | 91 | select 92 | *, 93 | case 94 | when period_of_inactivity <= {{var('segment_inactivity_cutoff')}} then 0 95 | else 1 96 | end as new_session 97 | from diffed 98 | 99 | ), 100 | 101 | session_numbers as ( 102 | 103 | --This CTE calculates a user's session (1, 2, 3) number from `new_session`. 104 | --This single field is the entire point of the entire prior series of 105 | --calculations. 106 | 107 | select 108 | 109 | *, 110 | 111 | sum(new_session) over ( 112 | partition by anonymous_id 113 | order by page_view_number 114 | rows between unbounded preceding and current row 115 | ) as session_number 116 | 117 | from new_sessions 118 | 119 | ), 120 | 121 | session_ids as ( 122 | 123 | --This CTE assigns a globally unique session id based on the combination of 124 | --`anonymous_id` and `session_number`. 125 | 126 | select 127 | 128 | {{dbt_utils.star(ref('segment_web_page_views'))}}, 129 | page_view_number, 130 | {{dbt_utils.generate_surrogate_key(['anonymous_id', 'session_number'])}} as session_id 131 | 132 | from session_numbers 133 | 134 | ) 135 | 136 | select * from session_ids 137 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /seeds/referrer_mapping.csv: -------------------------------------------------------------------------------- 1 | medium,source,host 2 | email,Outlook.com,mail.live.com 3 | email,Orange Webmail,orange.fr/webmail 4 | email,Optus Zoo,webmail.optuszoo.com.au 5 | email,Gmail,mail.google.com 6 | email,AOL Mail,mail.aol.com 7 | email,Daum Mail,mail2.daum.net 8 | email,QQ Mail,mail.qq.com 9 | email,126 Mail,mail.126.com 10 | email,Bigpond,webmail.bigpond.com 11 | email,Bigpond,webmail2.bigpond.com 12 | email,Naver Mail,mail.naver.com 13 | email,163 Mail,mail.163.com 14 | email,Yahoo! Mail,mail.yahoo.net 15 | email,Yahoo! Mail,mail.yahoo.com 16 | email,Yahoo! Mail,mail.yahoo.co.uk 17 | email,Yahoo! Mail,mail.yahoo.co.jp 18 | email,Seznam Mail,email.seznam.cz 19 | email,Mynet Mail,mail.mynet.com 20 | social,Renren,renren.com 21 | social,Tumblr,tumblr.com 22 | social,Flickr,flickr.com 23 | social,Cyworld,global.cyworld.com 24 | social,Tuenti,tuenti.com 25 | social,Donanimhaber,donanimhaber.com 26 | social,Windows Live Spaces,login.live.com 27 | social,Sonico.com,sonico.com 28 | social,StumbleUpon,stumbleupon.com 29 | social,Disqus,redirect.disqus.com 30 | social,Disqus,disq.us 31 | social,Disqus,disqus.com 32 | social,Netlog,netlog.com 33 | social,Badoo,badoo.com 34 | social,Mail.ru,my.mail.ru 35 | social,Vkontakte,vk.com 36 | social,Vkontakte,vkontakte.ru 37 | social,Friends Reunited,friendsreunited.com 38 | social,Geni,geni.com 39 | social,Plaxo,plaxo.com 40 | social,Pocket,itusozluk.com 41 | social,Mixi,mixi.jp 42 | social,Odnoklassniki,odnoklassniki.ru 43 | social,Foursquare,foursquare.com 44 | social,Multiply,multiply.com 45 | social,Tagged,login.tagged.com 46 | social,Flixster,flixster.com 47 | social,StudiVZ,studivz.net 48 | social,Fotolog,fotolog.com 49 | social,myYearbook,myyearbook.com 50 | social,Habbo,habbo.com 51 | social,MoiKrug.ru,moikrug.ru 52 | social,Uludag Sozluk,uludagsozluk.com 53 | social,Uludag Sozluk,ulusozluk.com 54 | social,Hocam.com,hocam.com 55 | social,Hyves,hyves.nl 56 | social,Taringa!,taringa.net 57 | social,Classmates,classmates.com 58 | social,Paper.li,paper.li 59 | social,Twitter,twitter.com 60 | social,Twitter,t.co 61 | social,WeeWorld,weeworld.com 62 | social,Weibo,weibo.com 63 | social,Weibo,t.cn 64 | social,StackOverflow,stackoverflow.com 65 | social,Identi.ca,identi.ca 66 | social,SourceForge,sourceforge.net 67 | social,Instela,instela.com 68 | social,Hacker News,news.ycombinator.com 69 | social,GitHub,github.com 70 | social,Inci Sozluk,inci.sozlukspot.com 71 | social,Inci Sozluk,incisozluk.com 72 | social,Inci Sozluk,incisozluk.cc 73 | social,Viadeo,viadeo.com 74 | social,Myspace,myspace.com 75 | social,Nasza-klasa.pl,nk.pl 76 | social,Qzone,qzone.qq.com 77 | social,LiveJournal,livejournal.ru 78 | social,Xanga,xanga.com 79 | social,Instagram,instagram.com 80 | social,Last.fm,lastfm.ru 81 | social,hi5,hi5.com 82 | social,XING,xing.com 83 | social,Google+,url.google.com 84 | social,Google+,plus.google.com 85 | social,LinkedIn,linkedin.com 86 | social,LinkedIn,lnkd.in 87 | social,BlackPlanet,blackplanet.com 88 | social,Bebo,bebo.com 89 | social,Skyrock,skyrock.com 90 | social,Eksi Sozluk,Sozluk.com 91 | social,Eksi Sozluk,sourtimes.org 92 | social,Facebook,facebook.com 93 | social,Facebook,fb.me 94 | social,Facebook,m.facebook.com 95 | social,Facebook,l.facebook.com 96 | social,Facebook,lm.facebook.com 97 | social,vKruguDruzei.ru,vkrugudruzei.ru 98 | social,MyHeritage,myheritage.com 99 | social,Youtube,youtube.com 100 | social,Youtube,youtu.be 101 | social,MyLife,mylife.ru 102 | social,Douban,douban.com 103 | social,Delicious,delicious.com 104 | social,WAYN,wayn.com 105 | social,Friendster,friendster.com 106 | social,Vimeo,vimeo.com 107 | social,Gaia Online,gaiaonline.com 108 | social,Orkut,orkut.com 109 | social,Reddit,reddit.com 110 | social,Quora,quora.com 111 | search,Lo.st,lo.st 112 | search,Lycos,search.lycos.com 113 | search,Lycos,lycos.com 114 | search,Hit-Parade,req.-hit-parade.com 115 | search,Hit-Parade,class.hit-parade.com 116 | search,Hit-Parade,hit-parade.com 117 | search,Suchmaschine.com,suchmaschine.com 118 | search,Hotbot,hotbot.com 119 | search,Conduit,search.conduit.com 120 | search,Weborama,weborama.com 121 | search,Toolbarhome,toolbarhome.com 122 | search,Toolbarhome,vshare.toolbarhome.com 123 | search,Ilse,ilse.nl 124 | search,TalkTalk,talktalk.co.uk 125 | search,Baidu,baidu.com 126 | search,Baidu,.baidu.com 127 | search,Baidu,zhidao.baidu.com 128 | search,Baidu,tieba.baidu.com 129 | search,Baidu,news.baidu.com 130 | search,Baidu,web.gougou.com 131 | search,Picsearch,picsearch.com 132 | search,Genieo,search.genieo.com 133 | search,maailm,maailm.com 134 | search,IXquick,ixquick.com 135 | search,IXquick,eu.ixquick.com 136 | search,IXquick,ixquick.de 137 | search,IXquick,us.ixquick.com 138 | search,IXquick,s1.us.ixquick.com 139 | search,IXquick,s2.us.ixquick.com 140 | search,IXquick,s3.us.ixquick.com 141 | search,IXquick,s4.us.ixquick.com 142 | search,IXquick,s5.us.ixquick.com 143 | search,IXquick,s8-eu.ixquick.com 144 | search,IXquick,s1-eu.ixquick.de 145 | search,Centrum,serach.centrum.cz 146 | search,Centrum,morfeo.centrum.cz 147 | search,Meinestadt,meinestadt.de 148 | search,Teoma,teoma.com 149 | search,Jyxo,jyxo.1188.cz 150 | search,HighBeam,highbeam.com 151 | search,AllTheWeb,alltheweb.com 152 | search,APOLL07,apollo7.de 153 | search,Google Blogsearch,blogsearch.google.ac 154 | search,Google Blogsearch,blogsearch.google.ad 155 | search,Google Blogsearch,blogsearch.google.ae 156 | search,Google Blogsearch,blogsearch.google.am 157 | search,Google Blogsearch,blogsearch.google.as 158 | search,Google Blogsearch,blogsearch.google.at 159 | search,Google Blogsearch,blogsearch.google.az 160 | search,Google Blogsearch,blogsearch.google.ba 161 | search,Google Blogsearch,blogsearch.google.be 162 | search,Google Blogsearch,blogsearch.google.bf 163 | search,Google Blogsearch,blogsearch.google.bg 164 | search,Google Blogsearch,blogsearch.google.bi 165 | search,Google Blogsearch,blogsearch.google.bj 166 | search,Google Blogsearch,blogsearch.google.bs 167 | search,Google Blogsearch,blogsearch.google.by 168 | search,Google Blogsearch,blogsearch.google.ca 169 | search,Google Blogsearch,blogsearch.google.cat 170 | search,Google Blogsearch,blogsearch.google.cc 171 | search,Google Blogsearch,blogsearch.google.cd 172 | search,Google Blogsearch,blogsearch.google.cf 173 | search,Google Blogsearch,blogsearch.google.cg 174 | search,Google Blogsearch,blogsearch.google.ch 175 | search,Google Blogsearch,blogsearch.google.ci 176 | search,Google Blogsearch,blogsearch.google.cl 177 | search,Google Blogsearch,blogsearch.google.cm 178 | search,Google Blogsearch,blogsearch.google.cn 179 | search,Google Blogsearch,blogsearch.google.co.bw 180 | search,Google Blogsearch,blogsearch.google.co.ck 181 | search,Google Blogsearch,blogsearch.google.co.cr 182 | search,Google Blogsearch,blogsearch.google.co.id 183 | search,Google Blogsearch,blogsearch.google.co.il 184 | search,Google Blogsearch,blogsearch.google.co.in 185 | search,Google Blogsearch,blogsearch.google.co.jp 186 | search,Google Blogsearch,blogsearch.google.co.ke 187 | search,Google Blogsearch,blogsearch.google.co.kr 188 | search,Google Blogsearch,blogsearch.google.co.ls 189 | search,Google Blogsearch,blogsearch.google.co.ma 190 | search,Google Blogsearch,blogsearch.google.co.mz 191 | search,Google Blogsearch,blogsearch.google.co.nz 192 | search,Google Blogsearch,blogsearch.google.co.th 193 | search,Google Blogsearch,blogsearch.google.co.tz 194 | search,Google Blogsearch,blogsearch.google.co.ug 195 | search,Google Blogsearch,blogsearch.google.co.uk 196 | search,Google Blogsearch,blogsearch.google.co.uz 197 | search,Google Blogsearch,blogsearch.google.co.ve 198 | search,Google Blogsearch,blogsearch.google.co.vi 199 | search,Google Blogsearch,blogsearch.google.co.za 200 | search,Google Blogsearch,blogsearch.google.co.zm 201 | search,Google Blogsearch,blogsearch.google.co.zw 202 | search,Google Blogsearch,blogsearch.google.com 203 | search,Google Blogsearch,blogsearch.google.com.af 204 | search,Google Blogsearch,blogsearch.google.com.ag 205 | search,Google Blogsearch,blogsearch.google.com.ai 206 | search,Google Blogsearch,blogsearch.google.com.ar 207 | search,Google Blogsearch,blogsearch.google.com.au 208 | search,Google Blogsearch,blogsearch.google.com.bd 209 | search,Google Blogsearch,blogsearch.google.com.bh 210 | search,Google Blogsearch,blogsearch.google.com.bn 211 | search,Google Blogsearch,blogsearch.google.com.bo 212 | search,Google Blogsearch,blogsearch.google.com.br 213 | search,Google Blogsearch,blogsearch.google.com.by 214 | search,Google Blogsearch,blogsearch.google.com.bz 215 | search,Google Blogsearch,blogsearch.google.com.co 216 | search,Google Blogsearch,blogsearch.google.com.cu 217 | search,Google Blogsearch,blogsearch.google.com.cy 218 | search,Google Blogsearch,blogsearch.google.com.do 219 | search,Google Blogsearch,blogsearch.google.com.ec 220 | search,Google Blogsearch,blogsearch.google.com.eg 221 | search,Google Blogsearch,blogsearch.google.com.et 222 | search,Google Blogsearch,blogsearch.google.com.fj 223 | search,Google Blogsearch,blogsearch.google.com.gh 224 | search,Google Blogsearch,blogsearch.google.com.gi 225 | search,Google Blogsearch,blogsearch.google.com.gt 226 | search,Google Blogsearch,blogsearch.google.com.hk 227 | search,Google Blogsearch,blogsearch.google.com.jm 228 | search,Google Blogsearch,blogsearch.google.com.kh 229 | search,Google Blogsearch,blogsearch.google.com.kw 230 | search,Google Blogsearch,blogsearch.google.com.lb 231 | search,Google Blogsearch,blogsearch.google.com.lc 232 | search,Google Blogsearch,blogsearch.google.com.ly 233 | search,Google Blogsearch,blogsearch.google.com.mt 234 | search,Google Blogsearch,blogsearch.google.com.mx 235 | search,Google Blogsearch,blogsearch.google.com.my 236 | search,Google Blogsearch,blogsearch.google.com.na 237 | search,Google Blogsearch,blogsearch.google.com.nf 238 | search,Google Blogsearch,blogsearch.google.com.ng 239 | search,Google Blogsearch,blogsearch.google.com.ni 240 | search,Google Blogsearch,blogsearch.google.com.np 241 | search,Google Blogsearch,blogsearch.google.com.om 242 | search,Google Blogsearch,blogsearch.google.com.pa 243 | search,Google Blogsearch,blogsearch.google.com.pe 244 | search,Google Blogsearch,blogsearch.google.com.ph 245 | search,Google Blogsearch,blogsearch.google.com.pk 246 | search,Google Blogsearch,blogsearch.google.com.pr 247 | search,Google Blogsearch,blogsearch.google.com.py 248 | search,Google Blogsearch,blogsearch.google.com.qa 249 | search,Google Blogsearch,blogsearch.google.com.sa 250 | search,Google Blogsearch,blogsearch.google.com.sb 251 | search,Google Blogsearch,blogsearch.google.com.sg 252 | search,Google Blogsearch,blogsearch.google.com.sl 253 | search,Google Blogsearch,blogsearch.google.com.sv 254 | search,Google Blogsearch,blogsearch.google.com.tj 255 | search,Google Blogsearch,blogsearch.google.com.tn 256 | search,Google Blogsearch,blogsearch.google.com.tr 257 | search,Google Blogsearch,blogsearch.google.com.tw 258 | search,Google Blogsearch,blogsearch.google.com.ua 259 | search,Google Blogsearch,blogsearch.google.com.uy 260 | search,Google Blogsearch,blogsearch.google.com.vc 261 | search,Google Blogsearch,blogsearch.google.com.vn 262 | search,Google Blogsearch,blogsearch.google.cv 263 | search,Google Blogsearch,blogsearch.google.cz 264 | search,Google Blogsearch,blogsearch.google.de 265 | search,Google Blogsearch,blogsearch.google.dj 266 | search,Google Blogsearch,blogsearch.google.dk 267 | search,Google Blogsearch,blogsearch.google.dm 268 | search,Google Blogsearch,blogsearch.google.dz 269 | search,Google Blogsearch,blogsearch.google.ee 270 | search,Google Blogsearch,blogsearch.google.es 271 | search,Google Blogsearch,blogsearch.google.fi 272 | search,Google Blogsearch,blogsearch.google.fm 273 | search,Google Blogsearch,blogsearch.google.fr 274 | search,Google Blogsearch,blogsearch.google.ga 275 | search,Google Blogsearch,blogsearch.google.gd 276 | search,Google Blogsearch,blogsearch.google.ge 277 | search,Google Blogsearch,blogsearch.google.gf 278 | search,Google Blogsearch,blogsearch.google.gg 279 | search,Google Blogsearch,blogsearch.google.gl 280 | search,Google Blogsearch,blogsearch.google.gm 281 | search,Google Blogsearch,blogsearch.google.gp 282 | search,Google Blogsearch,blogsearch.google.gr 283 | search,Google Blogsearch,blogsearch.google.gy 284 | search,Google Blogsearch,blogsearch.google.hn 285 | search,Google Blogsearch,blogsearch.google.hr 286 | search,Google Blogsearch,blogsearch.google.ht 287 | search,Google Blogsearch,blogsearch.google.hu 288 | search,Google Blogsearch,blogsearch.google.ie 289 | search,Google Blogsearch,blogsearch.google.im 290 | search,Google Blogsearch,blogsearch.google.io 291 | search,Google Blogsearch,blogsearch.google.iq 292 | search,Google Blogsearch,blogsearch.google.is 293 | search,Google Blogsearch,blogsearch.google.it 294 | search,Google Blogsearch,blogsearch.google.it.ao 295 | search,Google Blogsearch,blogsearch.google.je 296 | search,Google Blogsearch,blogsearch.google.jo 297 | search,Google Blogsearch,blogsearch.google.kg 298 | search,Google Blogsearch,blogsearch.google.ki 299 | search,Google Blogsearch,blogsearch.google.kz 300 | search,Google Blogsearch,blogsearch.google.la 301 | search,Google Blogsearch,blogsearch.google.li 302 | search,Google Blogsearch,blogsearch.google.lk 303 | search,Google Blogsearch,blogsearch.google.lt 304 | search,Google Blogsearch,blogsearch.google.lu 305 | search,Google Blogsearch,blogsearch.google.lv 306 | search,Google Blogsearch,blogsearch.google.md 307 | search,Google Blogsearch,blogsearch.google.me 308 | search,Google Blogsearch,blogsearch.google.mg 309 | search,Google Blogsearch,blogsearch.google.mk 310 | search,Google Blogsearch,blogsearch.google.ml 311 | search,Google Blogsearch,blogsearch.google.mn 312 | search,Google Blogsearch,blogsearch.google.ms 313 | search,Google Blogsearch,blogsearch.google.mu 314 | search,Google Blogsearch,blogsearch.google.mv 315 | search,Google Blogsearch,blogsearch.google.mw 316 | search,Google Blogsearch,blogsearch.google.ne 317 | search,Google Blogsearch,blogsearch.google.nl 318 | search,Google Blogsearch,blogsearch.google.no 319 | search,Google Blogsearch,blogsearch.google.nr 320 | search,Google Blogsearch,blogsearch.google.nu 321 | search,Google Blogsearch,blogsearch.google.pl 322 | search,Google Blogsearch,blogsearch.google.pn 323 | search,Google Blogsearch,blogsearch.google.ps 324 | search,Google Blogsearch,blogsearch.google.pt 325 | search,Google Blogsearch,blogsearch.google.ro 326 | search,Google Blogsearch,blogsearch.google.rs 327 | search,Google Blogsearch,blogsearch.google.ru 328 | search,Google Blogsearch,blogsearch.google.rw 329 | search,Google Blogsearch,blogsearch.google.sc 330 | search,Google Blogsearch,blogsearch.google.se 331 | search,Google Blogsearch,blogsearch.google.sh 332 | search,Google Blogsearch,blogsearch.google.si 333 | search,Google Blogsearch,blogsearch.google.sk 334 | search,Google Blogsearch,blogsearch.google.sm 335 | search,Google Blogsearch,blogsearch.google.sn 336 | search,Google Blogsearch,blogsearch.google.so 337 | search,Google Blogsearch,blogsearch.google.st 338 | search,Google Blogsearch,blogsearch.google.td 339 | search,Google Blogsearch,blogsearch.google.tg 340 | search,Google Blogsearch,blogsearch.google.tk 341 | search,Google Blogsearch,blogsearch.google.tl 342 | search,Google Blogsearch,blogsearch.google.tm 343 | search,Google Blogsearch,blogsearch.google.to 344 | search,Google Blogsearch,blogsearch.google.tt 345 | search,Google Blogsearch,blogsearch.google.us 346 | search,Google Blogsearch,blogsearch.google.vg 347 | search,Google Blogsearch,blogsearch.google.vu 348 | search,Google Blogsearch,blogsearch.google.ws 349 | search,Nigma,nigma.ru 350 | search,Aport,sm.aport.ru 351 | search,Web.nl,web.nl 352 | search,PeoplePC,search.peoplepc.com 353 | search,Blogdigger,blogdigger.com 354 | search,FriendFeed,friendfeed.com 355 | search,Softonic,search.softonic.com 356 | search,Seznam,search.seznam.cz 357 | search,X-recherche,x-recherche.com 358 | search,Crawler,crawler.com 359 | search,WWW,search.www.ee 360 | search,Digg,digg.com 361 | search,Apollo Latvia,apollo.lv/portal/search/ 362 | search,Zoek,.zoek.nl 363 | search,goo,search.goo.ne.jp 364 | search,goo,ocnsearch.goo.ne.jp 365 | search,Bing,bing.com 366 | search,Bing,msnbc.msn.com 367 | search,Bing,dizionario.it.msn.com 368 | search,Bing,cc.bingj.com 369 | search,Bing,m.bing.com 370 | search,Skynet,skynet.be 371 | search,Gigablast,gigablast.com 372 | search,Gigablast,dir.gigablast.com 373 | search,Nate,search.nate.com 374 | search,URL.ORGanizier,url.org 375 | search,MetaCrawler.de,s1.metacrawler.de 376 | search,MetaCrawler.de,s2.metacrawler.de 377 | search,MetaCrawler.de,s3.metacrawler.de 378 | search,El Mundo,ariadna.elmundo.es 379 | search,Zapmeta,zapmeta.com 380 | search,Zapmeta,zapmeta.nl 381 | search,Zapmeta,zapmeta.de 382 | search,Zapmeta,uk.zapmeta.com 383 | search,Forestle,forestle.org 384 | search,Forestle,forestle.mobi 385 | search,Maxwebsearch,maxwebsearch.com 386 | search,Mozbot,mozbot.fr 387 | search,Mozbot,mozbot.co.uk 388 | search,Mozbot,mozbot.com 389 | search,Startpagina,startgoogle.startpagina.nl 390 | search,canoe.ca,web.canoe.ca 391 | search,Needtofind,ko.search.need2find.com 392 | search,Apontador,apontador.com.br 393 | search,Mail.ru,go.mail.ru 394 | search,Latne,latne.lv 395 | search,Qualigo,qualigo.at 396 | search,Qualigo,qualigo.ch 397 | search,Qualigo,qualigo.de 398 | search,Qualigo,qualigo.nl 399 | search,WebSearch,websearch.com 400 | search,Snapdo,search.snapdo.com 401 | search,Vindex,vindex.nl 402 | search,Vindex,search.vindex.nl 403 | search,Twingly,twingly.com 404 | search,Alice Adsl,rechercher.aliceadsl.fr 405 | search,Ask Toolbar,search.tb.ask.com 406 | search,I-play,start.iplay.com 407 | search,Charter,charter.net 408 | search,Daemon search,daemon-search.com 409 | search,Daemon search,my.daemon-search.com 410 | search,Babylon,search.babylon.com 411 | search,Babylon,searchassist.babylon.com 412 | search,all.by,all.by 413 | search,Google Video,video.google.com 414 | search,Terra,buscador.terra.es 415 | search,Terra,buscador.terra.cl 416 | search,Terra,buscador.terra.com.br 417 | search,Amazon,amazon.com 418 | search,Looksmart,looksmart.com 419 | search,Eniro,eniro.se 420 | search,Walhello,walhello.info 421 | search,Walhello,walhello.com 422 | search,Walhello,walhello.de 423 | search,Walhello,walhello.nl 424 | search,Jungle Key,junglekey.com 425 | search,Jungle Key,junglekey.fr 426 | search,Mamma,mamma.com 427 | search,Mamma,mamma75.mamma.com 428 | search,Nifty,search.nifty.com 429 | search,Globososo,searches.globososo.com 430 | search,Globososo,search.globososo.com 431 | search,Google Images,google.ac/imgres 432 | search,Google Images,google.ad/imgres 433 | search,Google Images,google.ae/imgres 434 | search,Google Images,google.am/imgres 435 | search,Google Images,google.as/imgres 436 | search,Google Images,google.at/imgres 437 | search,Google Images,google.az/imgres 438 | search,Google Images,google.ba/imgres 439 | search,Google Images,google.be/imgres 440 | search,Google Images,google.bf/imgres 441 | search,Google Images,google.bg/imgres 442 | search,Google Images,google.bi/imgres 443 | search,Google Images,google.bj/imgres 444 | search,Google Images,google.bs/imgres 445 | search,Google Images,google.by/imgres 446 | search,Google Images,google.ca/imgres 447 | search,Google Images,google.cat/imgres 448 | search,Google Images,google.cc/imgres 449 | search,Google Images,google.cd/imgres 450 | search,Google Images,google.cf/imgres 451 | search,Google Images,google.cg/imgres 452 | search,Google Images,google.ch/imgres 453 | search,Google Images,google.ci/imgres 454 | search,Google Images,google.cl/imgres 455 | search,Google Images,google.cm/imgres 456 | search,Google Images,google.cn/imgres 457 | search,Google Images,google.co.bw/imgres 458 | search,Google Images,google.co.ck/imgres 459 | search,Google Images,google.co.cr/imgres 460 | search,Google Images,google.co.id/imgres 461 | search,Google Images,google.co.il/imgres 462 | search,Google Images,google.co.in/imgres 463 | search,Google Images,google.co.jp/imgres 464 | search,Google Images,google.co.ke/imgres 465 | search,Google Images,google.co.kr/imgres 466 | search,Google Images,google.co.ls/imgres 467 | search,Google Images,google.co.ma/imgres 468 | search,Google Images,google.co.mz/imgres 469 | search,Google Images,google.co.nz/imgres 470 | search,Google Images,google.co.th/imgres 471 | search,Google Images,google.co.tz/imgres 472 | search,Google Images,google.co.ug/imgres 473 | search,Google Images,google.co.uk/imgres 474 | search,Google Images,google.co.uz/imgres 475 | search,Google Images,google.co.ve/imgres 476 | search,Google Images,google.co.vi/imgres 477 | search,Google Images,google.co.za/imgres 478 | search,Google Images,google.co.zm/imgres 479 | search,Google Images,google.co.zw/imgres 480 | search,Google Images,google.com/imgres 481 | search,Google Images,google.com.af/imgres 482 | search,Google Images,google.com.ag/imgres 483 | search,Google Images,google.com.ai/imgres 484 | search,Google Images,google.com.ar/imgres 485 | search,Google Images,google.com.au/imgres 486 | search,Google Images,google.com.bd/imgres 487 | search,Google Images,google.com.bh/imgres 488 | search,Google Images,google.com.bn/imgres 489 | search,Google Images,google.com.bo/imgres 490 | search,Google Images,google.com.br/imgres 491 | search,Google Images,google.com.by/imgres 492 | search,Google Images,google.com.bz/imgres 493 | search,Google Images,google.com.co/imgres 494 | search,Google Images,google.com.cu/imgres 495 | search,Google Images,google.com.cy/imgres 496 | search,Google Images,google.com.do/imgres 497 | search,Google Images,google.com.ec/imgres 498 | search,Google Images,google.com.eg/imgres 499 | search,Google Images,google.com.et/imgres 500 | search,Google Images,google.com.fj/imgres 501 | search,Google Images,google.com.gh/imgres 502 | search,Google Images,google.com.gi/imgres 503 | search,Google Images,google.com.gt/imgres 504 | search,Google Images,google.com.hk/imgres 505 | search,Google Images,google.com.jm/imgres 506 | search,Google Images,google.com.kh/imgres 507 | search,Google Images,google.com.kw/imgres 508 | search,Google Images,google.com.lb/imgres 509 | search,Google Images,google.com.lc/imgres 510 | search,Google Images,google.com.ly/imgres 511 | search,Google Images,google.com.mt/imgres 512 | search,Google Images,google.com.mx/imgres 513 | search,Google Images,google.com.my/imgres 514 | search,Google Images,google.com.na/imgres 515 | search,Google Images,google.com.nf/imgres 516 | search,Google Images,google.com.ng/imgres 517 | search,Google Images,google.com.ni/imgres 518 | search,Google Images,google.com.np/imgres 519 | search,Google Images,google.com.om/imgres 520 | search,Google Images,google.com.pa/imgres 521 | search,Google Images,google.com.pe/imgres 522 | search,Google Images,google.com.ph/imgres 523 | search,Google Images,google.com.pk/imgres 524 | search,Google Images,google.com.pr/imgres 525 | search,Google Images,google.com.py/imgres 526 | search,Google Images,google.com.qa/imgres 527 | search,Google Images,google.com.sa/imgres 528 | search,Google Images,google.com.sb/imgres 529 | search,Google Images,google.com.sg/imgres 530 | search,Google Images,google.com.sl/imgres 531 | search,Google Images,google.com.sv/imgres 532 | search,Google Images,google.com.tj/imgres 533 | search,Google Images,google.com.tn/imgres 534 | search,Google Images,google.com.tr/imgres 535 | search,Google Images,google.com.tw/imgres 536 | search,Google Images,google.com.ua/imgres 537 | search,Google Images,google.com.uy/imgres 538 | search,Google Images,google.com.vc/imgres 539 | search,Google Images,google.com.vn/imgres 540 | search,Google Images,google.cv/imgres 541 | search,Google Images,google.cz/imgres 542 | search,Google Images,google.de/imgres 543 | search,Google Images,google.dj/imgres 544 | search,Google Images,google.dk/imgres 545 | search,Google Images,google.dm/imgres 546 | search,Google Images,google.dz/imgres 547 | search,Google Images,google.ee/imgres 548 | search,Google Images,google.es/imgres 549 | search,Google Images,google.fi/imgres 550 | search,Google Images,google.fm/imgres 551 | search,Google Images,google.fr/imgres 552 | search,Google Images,google.ga/imgres 553 | search,Google Images,google.gd/imgres 554 | search,Google Images,google.ge/imgres 555 | search,Google Images,google.gf/imgres 556 | search,Google Images,google.gg/imgres 557 | search,Google Images,google.gl/imgres 558 | search,Google Images,google.gm/imgres 559 | search,Google Images,google.gp/imgres 560 | search,Google Images,google.gr/imgres 561 | search,Google Images,google.gy/imgres 562 | search,Google Images,google.hn/imgres 563 | search,Google Images,google.hr/imgres 564 | search,Google Images,google.ht/imgres 565 | search,Google Images,google.hu/imgres 566 | search,Google Images,google.ie/imgres 567 | search,Google Images,google.im/imgres 568 | search,Google Images,google.io/imgres 569 | search,Google Images,google.iq/imgres 570 | search,Google Images,google.is/imgres 571 | search,Google Images,google.it/imgres 572 | search,Google Images,google.it.ao/imgres 573 | search,Google Images,google.je/imgres 574 | search,Google Images,google.jo/imgres 575 | search,Google Images,google.kg/imgres 576 | search,Google Images,google.ki/imgres 577 | search,Google Images,google.kz/imgres 578 | search,Google Images,google.la/imgres 579 | search,Google Images,google.li/imgres 580 | search,Google Images,google.lk/imgres 581 | search,Google Images,google.lt/imgres 582 | search,Google Images,google.lu/imgres 583 | search,Google Images,google.lv/imgres 584 | search,Google Images,google.md/imgres 585 | search,Google Images,google.me/imgres 586 | search,Google Images,google.mg/imgres 587 | search,Google Images,google.mk/imgres 588 | search,Google Images,google.ml/imgres 589 | search,Google Images,google.mn/imgres 590 | search,Google Images,google.ms/imgres 591 | search,Google Images,google.mu/imgres 592 | search,Google Images,google.mv/imgres 593 | search,Google Images,google.mw/imgres 594 | search,Google Images,google.ne/imgres 595 | search,Google Images,google.nl/imgres 596 | search,Google Images,google.no/imgres 597 | search,Google Images,google.nr/imgres 598 | search,Google Images,google.nu/imgres 599 | search,Google Images,google.pl/imgres 600 | search,Google Images,google.pn/imgres 601 | search,Google Images,google.ps/imgres 602 | search,Google Images,google.pt/imgres 603 | search,Google Images,google.ro/imgres 604 | search,Google Images,google.rs/imgres 605 | search,Google Images,google.ru/imgres 606 | search,Google Images,google.rw/imgres 607 | search,Google Images,google.sc/imgres 608 | search,Google Images,google.se/imgres 609 | search,Google Images,google.sh/imgres 610 | search,Google Images,google.si/imgres 611 | search,Google Images,google.sk/imgres 612 | search,Google Images,google.sm/imgres 613 | search,Google Images,google.sn/imgres 614 | search,Google Images,google.so/imgres 615 | search,Google Images,google.st/imgres 616 | search,Google Images,google.td/imgres 617 | search,Google Images,google.tg/imgres 618 | search,Google Images,google.tk/imgres 619 | search,Google Images,google.tl/imgres 620 | search,Google Images,google.tm/imgres 621 | search,Google Images,google.to/imgres 622 | search,Google Images,google.tt/imgres 623 | search,Google Images,google.us/imgres 624 | search,Google Images,google.vg/imgres 625 | search,Google Images,google.vu/imgres 626 | search,Google Images,images.google.ac 627 | search,Google Images,images.google.ad 628 | search,Google Images,images.google.ae 629 | search,Google Images,images.google.am 630 | search,Google Images,images.google.as 631 | search,Google Images,images.google.at 632 | search,Google Images,images.google.az 633 | search,Google Images,images.google.ba 634 | search,Google Images,images.google.be 635 | search,Google Images,images.google.bf 636 | search,Google Images,images.google.bg 637 | search,Google Images,images.google.bi 638 | search,Google Images,images.google.bj 639 | search,Google Images,images.google.bs 640 | search,Google Images,images.google.by 641 | search,Google Images,images.google.ca 642 | search,Google Images,images.google.cat 643 | search,Google Images,images.google.cc 644 | search,Google Images,images.google.cd 645 | search,Google Images,images.google.cf 646 | search,Google Images,images.google.cg 647 | search,Google Images,images.google.ch 648 | search,Google Images,images.google.ci 649 | search,Google Images,images.google.cl 650 | search,Google Images,images.google.cm 651 | search,Google Images,images.google.cn 652 | search,Google Images,images.google.co.bw 653 | search,Google Images,images.google.co.ck 654 | search,Google Images,images.google.co.cr 655 | search,Google Images,images.google.co.id 656 | search,Google Images,images.google.co.il 657 | search,Google Images,images.google.co.in 658 | search,Google Images,images.google.co.jp 659 | search,Google Images,images.google.co.ke 660 | search,Google Images,images.google.co.kr 661 | search,Google Images,images.google.co.ls 662 | search,Google Images,images.google.co.ma 663 | search,Google Images,images.google.co.mz 664 | search,Google Images,images.google.co.nz 665 | search,Google Images,images.google.co.th 666 | search,Google Images,images.google.co.tz 667 | search,Google Images,images.google.co.ug 668 | search,Google Images,images.google.co.uk 669 | search,Google Images,images.google.co.uz 670 | search,Google Images,images.google.co.ve 671 | search,Google Images,images.google.co.vi 672 | search,Google Images,images.google.co.za 673 | search,Google Images,images.google.co.zm 674 | search,Google Images,images.google.co.zw 675 | search,Google Images,images.google.com 676 | search,Google Images,images.google.com.af 677 | search,Google Images,images.google.com.ag 678 | search,Google Images,images.google.com.ai 679 | search,Google Images,images.google.com.ar 680 | search,Google Images,images.google.com.au 681 | search,Google Images,images.google.com.bd 682 | search,Google Images,images.google.com.bh 683 | search,Google Images,images.google.com.bn 684 | search,Google Images,images.google.com.bo 685 | search,Google Images,images.google.com.br 686 | search,Google Images,images.google.com.by 687 | search,Google Images,images.google.com.bz 688 | search,Google Images,images.google.com.co 689 | search,Google Images,images.google.com.cu 690 | search,Google Images,images.google.com.cy 691 | search,Google Images,images.google.com.do 692 | search,Google Images,images.google.com.ec 693 | search,Google Images,images.google.com.eg 694 | search,Google Images,images.google.com.et 695 | search,Google Images,images.google.com.fj 696 | search,Google Images,images.google.com.gh 697 | search,Google Images,images.google.com.gi 698 | search,Google Images,images.google.com.gt 699 | search,Google Images,images.google.com.hk 700 | search,Google Images,images.google.com.jm 701 | search,Google Images,images.google.com.kh 702 | search,Google Images,images.google.com.kw 703 | search,Google Images,images.google.com.lb 704 | search,Google Images,images.google.com.lc 705 | search,Google Images,images.google.com.ly 706 | search,Google Images,images.google.com.mt 707 | search,Google Images,images.google.com.mx 708 | search,Google Images,images.google.com.my 709 | search,Google Images,images.google.com.na 710 | search,Google Images,images.google.com.nf 711 | search,Google Images,images.google.com.ng 712 | search,Google Images,images.google.com.ni 713 | search,Google Images,images.google.com.np 714 | search,Google Images,images.google.com.om 715 | search,Google Images,images.google.com.pa 716 | search,Google Images,images.google.com.pe 717 | search,Google Images,images.google.com.ph 718 | search,Google Images,images.google.com.pk 719 | search,Google Images,images.google.com.pr 720 | search,Google Images,images.google.com.py 721 | search,Google Images,images.google.com.qa 722 | search,Google Images,images.google.com.sa 723 | search,Google Images,images.google.com.sb 724 | search,Google Images,images.google.com.sg 725 | search,Google Images,images.google.com.sl 726 | search,Google Images,images.google.com.sv 727 | search,Google Images,images.google.com.tj 728 | search,Google Images,images.google.com.tn 729 | search,Google Images,images.google.com.tr 730 | search,Google Images,images.google.com.tw 731 | search,Google Images,images.google.com.ua 732 | search,Google Images,images.google.com.uy 733 | search,Google Images,images.google.com.vc 734 | search,Google Images,images.google.com.vn 735 | search,Google Images,images.google.cv 736 | search,Google Images,images.google.cz 737 | search,Google Images,images.google.de 738 | search,Google Images,images.google.dj 739 | search,Google Images,images.google.dk 740 | search,Google Images,images.google.dm 741 | search,Google Images,images.google.dz 742 | search,Google Images,images.google.ee 743 | search,Google Images,images.google.es 744 | search,Google Images,images.google.fi 745 | search,Google Images,images.google.fm 746 | search,Google Images,images.google.fr 747 | search,Google Images,images.google.ga 748 | search,Google Images,images.google.gd 749 | search,Google Images,images.google.ge 750 | search,Google Images,images.google.gf 751 | search,Google Images,images.google.gg 752 | search,Google Images,images.google.gl 753 | search,Google Images,images.google.gm 754 | search,Google Images,images.google.gp 755 | search,Google Images,images.google.gr 756 | search,Google Images,images.google.gy 757 | search,Google Images,images.google.hn 758 | search,Google Images,images.google.hr 759 | search,Google Images,images.google.ht 760 | search,Google Images,images.google.hu 761 | search,Google Images,images.google.ie 762 | search,Google Images,images.google.im 763 | search,Google Images,images.google.io 764 | search,Google Images,images.google.iq 765 | search,Google Images,images.google.is 766 | search,Google Images,images.google.it 767 | search,Google Images,images.google.it.ao 768 | search,Google Images,images.google.je 769 | search,Google Images,images.google.jo 770 | search,Google Images,images.google.kg 771 | search,Google Images,images.google.ki 772 | search,Google Images,images.google.kz 773 | search,Google Images,images.google.la 774 | search,Google Images,images.google.li 775 | search,Google Images,images.google.lk 776 | search,Google Images,images.google.lt 777 | search,Google Images,images.google.lu 778 | search,Google Images,images.google.lv 779 | search,Google Images,images.google.md 780 | search,Google Images,images.google.me 781 | search,Google Images,images.google.mg 782 | search,Google Images,images.google.mk 783 | search,Google Images,images.google.ml 784 | search,Google Images,images.google.mn 785 | search,Google Images,images.google.ms 786 | search,Google Images,images.google.mu 787 | search,Google Images,images.google.mv 788 | search,Google Images,images.google.mw 789 | search,Google Images,images.google.ne 790 | search,Google Images,images.google.nl 791 | search,Google Images,images.google.no 792 | search,Google Images,images.google.nr 793 | search,Google Images,images.google.nu 794 | search,Google Images,images.google.pl 795 | search,Google Images,images.google.pn 796 | search,Google Images,images.google.ps 797 | search,Google Images,images.google.pt 798 | search,Google Images,images.google.ro 799 | search,Google Images,images.google.rs 800 | search,Google Images,images.google.ru 801 | search,Google Images,images.google.rw 802 | search,Google Images,images.google.sc 803 | search,Google Images,images.google.se 804 | search,Google Images,images.google.sh 805 | search,Google Images,images.google.si 806 | search,Google Images,images.google.sk 807 | search,Google Images,images.google.sm 808 | search,Google Images,images.google.sn 809 | search,Google Images,images.google.so 810 | search,Google Images,images.google.st 811 | search,Google Images,images.google.td 812 | search,Google Images,images.google.tg 813 | search,Google Images,images.google.tk 814 | search,Google Images,images.google.tl 815 | search,Google Images,images.google.tm 816 | search,Google Images,images.google.to 817 | search,Google Images,images.google.tt 818 | search,Google Images,images.google.us 819 | search,Google Images,images.google.vg 820 | search,Google Images,images.google.vu 821 | search,Google Images,images.google.ws 822 | search,Ask,ask.com 823 | search,Ask,web.ask.com 824 | search,Ask,int.ask.com 825 | search,Ask,mws.ask.com 826 | search,Ask,uk.ask.com 827 | search,Ask,images.ask.com 828 | search,Ask,ask.reference.com 829 | search,Ask,askkids.com 830 | search,Ask,iwon.ask.com 831 | search,Ask,ask.co.uk 832 | search,Ask,qbyrd.com 833 | search,Ask,search-results.com 834 | search,Ask,uk.search-results.com 835 | search,Ask,int.search-results.com 836 | search,Naver Images,image.search.naver.com 837 | search,Naver Images,imagesearch.naver.com 838 | search,soso.com,soso.com 839 | search,RPMFind,rpmfind.net 840 | search,RPMFind,fr2.rpmfind.net 841 | search,Startsiden,startsiden.no 842 | search,Freecause,search.freecause.com 843 | search,Neti,neti.ee 844 | search,Arcor,arcor.de 845 | search,Google News,news.google.ac 846 | search,Google News,news.google.ad 847 | search,Google News,news.google.ae 848 | search,Google News,news.google.am 849 | search,Google News,news.google.as 850 | search,Google News,news.google.at 851 | search,Google News,news.google.az 852 | search,Google News,news.google.ba 853 | search,Google News,news.google.be 854 | search,Google News,news.google.bf 855 | search,Google News,news.google.bg 856 | search,Google News,news.google.bi 857 | search,Google News,news.google.bj 858 | search,Google News,news.google.bs 859 | search,Google News,news.google.by 860 | search,Google News,news.google.ca 861 | search,Google News,news.google.cat 862 | search,Google News,news.google.cc 863 | search,Google News,news.google.cd 864 | search,Google News,news.google.cf 865 | search,Google News,news.google.cg 866 | search,Google News,news.google.ch 867 | search,Google News,news.google.ci 868 | search,Google News,news.google.cl 869 | search,Google News,news.google.cm 870 | search,Google News,news.google.cn 871 | search,Google News,news.google.co.bw 872 | search,Google News,news.google.co.ck 873 | search,Google News,news.google.co.cr 874 | search,Google News,news.google.co.id 875 | search,Google News,news.google.co.il 876 | search,Google News,news.google.co.in 877 | search,Google News,news.google.co.jp 878 | search,Google News,news.google.co.ke 879 | search,Google News,news.google.co.kr 880 | search,Google News,news.google.co.ls 881 | search,Google News,news.google.co.ma 882 | search,Google News,news.google.co.mz 883 | search,Google News,news.google.co.nz 884 | search,Google News,news.google.co.th 885 | search,Google News,news.google.co.tz 886 | search,Google News,news.google.co.ug 887 | search,Google News,news.google.co.uk 888 | search,Google News,news.google.co.uz 889 | search,Google News,news.google.co.ve 890 | search,Google News,news.google.co.vi 891 | search,Google News,news.google.co.za 892 | search,Google News,news.google.co.zm 893 | search,Google News,news.google.co.zw 894 | search,Google News,news.google.com 895 | search,Google News,news.google.com.af 896 | search,Google News,news.google.com.ag 897 | search,Google News,news.google.com.ai 898 | search,Google News,news.google.com.ar 899 | search,Google News,news.google.com.au 900 | search,Google News,news.google.com.bd 901 | search,Google News,news.google.com.bh 902 | search,Google News,news.google.com.bn 903 | search,Google News,news.google.com.bo 904 | search,Google News,news.google.com.br 905 | search,Google News,news.google.com.by 906 | search,Google News,news.google.com.bz 907 | search,Google News,news.google.com.co 908 | search,Google News,news.google.com.cu 909 | search,Google News,news.google.com.cy 910 | search,Google News,news.google.com.do 911 | search,Google News,news.google.com.ec 912 | search,Google News,news.google.com.eg 913 | search,Google News,news.google.com.et 914 | search,Google News,news.google.com.fj 915 | search,Google News,news.google.com.gh 916 | search,Google News,news.google.com.gi 917 | search,Google News,news.google.com.gt 918 | search,Google News,news.google.com.hk 919 | search,Google News,news.google.com.jm 920 | search,Google News,news.google.com.kh 921 | search,Google News,news.google.com.kw 922 | search,Google News,news.google.com.lb 923 | search,Google News,news.google.com.lc 924 | search,Google News,news.google.com.ly 925 | search,Google News,news.google.com.mt 926 | search,Google News,news.google.com.mx 927 | search,Google News,news.google.com.my 928 | search,Google News,news.google.com.na 929 | search,Google News,news.google.com.nf 930 | search,Google News,news.google.com.ng 931 | search,Google News,news.google.com.ni 932 | search,Google News,news.google.com.np 933 | search,Google News,news.google.com.om 934 | search,Google News,news.google.com.pa 935 | search,Google News,news.google.com.pe 936 | search,Google News,news.google.com.ph 937 | search,Google News,news.google.com.pk 938 | search,Google News,news.google.com.pr 939 | search,Google News,news.google.com.py 940 | search,Google News,news.google.com.qa 941 | search,Google News,news.google.com.sa 942 | search,Google News,news.google.com.sb 943 | search,Google News,news.google.com.sg 944 | search,Google News,news.google.com.sl 945 | search,Google News,news.google.com.sv 946 | search,Google News,news.google.com.tj 947 | search,Google News,news.google.com.tn 948 | search,Google News,news.google.com.tr 949 | search,Google News,news.google.com.tw 950 | search,Google News,news.google.com.ua 951 | search,Google News,news.google.com.uy 952 | search,Google News,news.google.com.vc 953 | search,Google News,news.google.com.vn 954 | search,Google News,news.google.cv 955 | search,Google News,news.google.cz 956 | search,Google News,news.google.de 957 | search,Google News,news.google.dj 958 | search,Google News,news.google.dk 959 | search,Google News,news.google.dm 960 | search,Google News,news.google.dz 961 | search,Google News,news.google.ee 962 | search,Google News,news.google.es 963 | search,Google News,news.google.fi 964 | search,Google News,news.google.fm 965 | search,Google News,news.google.fr 966 | search,Google News,news.google.ga 967 | search,Google News,news.google.gd 968 | search,Google News,news.google.ge 969 | search,Google News,news.google.gf 970 | search,Google News,news.google.gg 971 | search,Google News,news.google.gl 972 | search,Google News,news.google.gm 973 | search,Google News,news.google.gp 974 | search,Google News,news.google.gr 975 | search,Google News,news.google.gy 976 | search,Google News,news.google.hn 977 | search,Google News,news.google.hr 978 | search,Google News,news.google.ht 979 | search,Google News,news.google.hu 980 | search,Google News,news.google.ie 981 | search,Google News,news.google.im 982 | search,Google News,news.google.io 983 | search,Google News,news.google.iq 984 | search,Google News,news.google.is 985 | search,Google News,news.google.it 986 | search,Google News,news.google.it.ao 987 | search,Google News,news.google.je 988 | search,Google News,news.google.jo 989 | search,Google News,news.google.kg 990 | search,Google News,news.google.ki 991 | search,Google News,news.google.kz 992 | search,Google News,news.google.la 993 | search,Google News,news.google.li 994 | search,Google News,news.google.lk 995 | search,Google News,news.google.lt 996 | search,Google News,news.google.lu 997 | search,Google News,news.google.lv 998 | search,Google News,news.google.md 999 | search,Google News,news.google.me 1000 | search,Google News,news.google.mg 1001 | search,Google News,news.google.mk 1002 | search,Google News,news.google.ml 1003 | search,Google News,news.google.mn 1004 | search,Google News,news.google.ms 1005 | search,Google News,news.google.mu 1006 | search,Google News,news.google.mv 1007 | search,Google News,news.google.mw 1008 | search,Google News,news.google.ne 1009 | search,Google News,news.google.nl 1010 | search,Google News,news.google.no 1011 | search,Google News,news.google.nr 1012 | search,Google News,news.google.nu 1013 | search,Google News,news.google.pl 1014 | search,Google News,news.google.pn 1015 | search,Google News,news.google.ps 1016 | search,Google News,news.google.pt 1017 | search,Google News,news.google.ro 1018 | search,Google News,news.google.rs 1019 | search,Google News,news.google.ru 1020 | search,Google News,news.google.rw 1021 | search,Google News,news.google.sc 1022 | search,Google News,news.google.se 1023 | search,Google News,news.google.sh 1024 | search,Google News,news.google.si 1025 | search,Google News,news.google.sk 1026 | search,Google News,news.google.sm 1027 | search,Google News,news.google.sn 1028 | search,Google News,news.google.so 1029 | search,Google News,news.google.st 1030 | search,Google News,news.google.td 1031 | search,Google News,news.google.tg 1032 | search,Google News,news.google.tk 1033 | search,Google News,news.google.tl 1034 | search,Google News,news.google.tm 1035 | search,Google News,news.google.to 1036 | search,Google News,news.google.tt 1037 | search,Google News,news.google.us 1038 | search,Google News,news.google.vg 1039 | search,Google News,news.google.vu 1040 | search,Google News,news.google.ws 1041 | search,Euroseek,euroseek.com 1042 | search,Dalesearch,dalesearch.com 1043 | search,TrovaRapido,trovarapido.com 1044 | search,Yandex Images,images.yandex.ru 1045 | search,Yandex Images,images.yandex.ua 1046 | search,Yandex Images,images.yandex.com 1047 | search,Google,google.com 1048 | search,Google,google.ac 1049 | search,Google,google.ad 1050 | search,Google,google.com.af 1051 | search,Google,google.com.ag 1052 | search,Google,google.com.ai 1053 | search,Google,google.am 1054 | search,Google,google.it.ao 1055 | search,Google,google.com.ar 1056 | search,Google,google.as 1057 | search,Google,google.at 1058 | search,Google,google.com.au 1059 | search,Google,google.az 1060 | search,Google,google.ba 1061 | search,Google,google.com.bd 1062 | search,Google,google.be 1063 | search,Google,google.bf 1064 | search,Google,google.bg 1065 | search,Google,google.com.bh 1066 | search,Google,google.bi 1067 | search,Google,google.bj 1068 | search,Google,google.com.bn 1069 | search,Google,google.com.bo 1070 | search,Google,google.com.br 1071 | search,Google,google.bs 1072 | search,Google,google.co.bw 1073 | search,Google,google.com.by 1074 | search,Google,google.by 1075 | search,Google,google.com.bz 1076 | search,Google,google.ca 1077 | search,Google,google.com.kh 1078 | search,Google,google.cc 1079 | search,Google,google.cd 1080 | search,Google,google.cf 1081 | search,Google,google.cat 1082 | search,Google,google.cg 1083 | search,Google,google.ch 1084 | search,Google,google.ci 1085 | search,Google,google.co.ck 1086 | search,Google,google.cl 1087 | search,Google,google.cm 1088 | search,Google,google.cn 1089 | search,Google,google.com.co 1090 | search,Google,google.co.cr 1091 | search,Google,google.com.cu 1092 | search,Google,google.cv 1093 | search,Google,google.com.cy 1094 | search,Google,google.cz 1095 | search,Google,google.de 1096 | search,Google,google.dj 1097 | search,Google,google.dk 1098 | search,Google,google.dm 1099 | search,Google,google.com.do 1100 | search,Google,google.dz 1101 | search,Google,google.com.ec 1102 | search,Google,google.ee 1103 | search,Google,google.com.eg 1104 | search,Google,google.es 1105 | search,Google,google.com.et 1106 | search,Google,google.fi 1107 | search,Google,google.com.fj 1108 | search,Google,google.fm 1109 | search,Google,google.fr 1110 | search,Google,google.ga 1111 | search,Google,google.gd 1112 | search,Google,google.ge 1113 | search,Google,google.gf 1114 | search,Google,google.gg 1115 | search,Google,google.com.gh 1116 | search,Google,google.com.gi 1117 | search,Google,google.gl 1118 | search,Google,google.gm 1119 | search,Google,google.gp 1120 | search,Google,google.gr 1121 | search,Google,google.com.gt 1122 | search,Google,google.gy 1123 | search,Google,google.com.hk 1124 | search,Google,google.hn 1125 | search,Google,google.hr 1126 | search,Google,google.ht 1127 | search,Google,google.hu 1128 | search,Google,google.co.id 1129 | search,Google,google.iq 1130 | search,Google,google.ie 1131 | search,Google,google.co.il 1132 | search,Google,google.im 1133 | search,Google,google.co.in 1134 | search,Google,google.io 1135 | search,Google,google.is 1136 | search,Google,google.it 1137 | search,Google,google.je 1138 | search,Google,google.com.jm 1139 | search,Google,google.jo 1140 | search,Google,google.co.jp 1141 | search,Google,google.co.ke 1142 | search,Google,google.ki 1143 | search,Google,google.kg 1144 | search,Google,google.co.kr 1145 | search,Google,google.com.kw 1146 | search,Google,google.kz 1147 | search,Google,google.la 1148 | search,Google,google.com.lb 1149 | search,Google,google.com.lc 1150 | search,Google,google.li 1151 | search,Google,google.lk 1152 | search,Google,google.co.ls 1153 | search,Google,google.lt 1154 | search,Google,google.lu 1155 | search,Google,google.lv 1156 | search,Google,google.com.ly 1157 | search,Google,google.co.ma 1158 | search,Google,google.md 1159 | search,Google,google.me 1160 | search,Google,google.mg 1161 | search,Google,google.mk 1162 | search,Google,google.ml 1163 | search,Google,google.mn 1164 | search,Google,google.ms 1165 | search,Google,google.com.mt 1166 | search,Google,google.mu 1167 | search,Google,google.mv 1168 | search,Google,google.mw 1169 | search,Google,google.com.mx 1170 | search,Google,google.com.my 1171 | search,Google,google.co.mz 1172 | search,Google,google.com.na 1173 | search,Google,google.ne 1174 | search,Google,google.com.nf 1175 | search,Google,google.com.ng 1176 | search,Google,google.com.ni 1177 | search,Google,google.nl 1178 | search,Google,google.no 1179 | search,Google,google.com.np 1180 | search,Google,google.nr 1181 | search,Google,google.nu 1182 | search,Google,google.co.nz 1183 | search,Google,google.com.om 1184 | search,Google,google.com.pa 1185 | search,Google,google.com.pe 1186 | search,Google,google.com.ph 1187 | search,Google,google.com.pk 1188 | search,Google,google.pl 1189 | search,Google,google.pn 1190 | search,Google,google.com.pr 1191 | search,Google,google.ps 1192 | search,Google,google.pt 1193 | search,Google,google.com.py 1194 | search,Google,google.com.qa 1195 | search,Google,google.ro 1196 | search,Google,google.rs 1197 | search,Google,google.ru 1198 | search,Google,google.rw 1199 | search,Google,google.com.sa 1200 | search,Google,google.com.sb 1201 | search,Google,google.sc 1202 | search,Google,google.se 1203 | search,Google,google.com.sg 1204 | search,Google,google.sh 1205 | search,Google,google.si 1206 | search,Google,google.sk 1207 | search,Google,google.com.sl 1208 | search,Google,google.sn 1209 | search,Google,google.sm 1210 | search,Google,google.so 1211 | search,Google,google.st 1212 | search,Google,google.com.sv 1213 | search,Google,google.td 1214 | search,Google,google.tg 1215 | search,Google,google.co.th 1216 | search,Google,google.com.tj 1217 | search,Google,google.tk 1218 | search,Google,google.tl 1219 | search,Google,google.tm 1220 | search,Google,google.to 1221 | search,Google,google.com.tn 1222 | search,Google,google.com.tr 1223 | search,Google,google.tt 1224 | search,Google,google.com.tw 1225 | search,Google,google.co.tz 1226 | search,Google,google.com.ua 1227 | search,Google,google.co.ug 1228 | search,Google,google.ae 1229 | search,Google,google.co.uk 1230 | search,Google,google.us 1231 | search,Google,google.com.uy 1232 | search,Google,google.co.uz 1233 | search,Google,google.com.vc 1234 | search,Google,google.co.ve 1235 | search,Google,google.vg 1236 | search,Google,google.co.vi 1237 | search,Google,google.com.vn 1238 | search,Google,google.vu 1239 | search,Google,google.ws 1240 | search,Google,google.co.za 1241 | search,Google,google.co.zm 1242 | search,Google,google.co.zw 1243 | search,Google,search.avg.com 1244 | search,Google,isearch.avg.com 1245 | search,Google,cnn.com 1246 | search,Google,darkoogle.com 1247 | search,Google,search.darkoogle.com 1248 | search,Google,search.foxtab.com 1249 | search,Google,gooofullsearch.com 1250 | search,Google,search.hiyo.com 1251 | search,Google,search.incredimail.com 1252 | search,Google,search1.incredimail.com 1253 | search,Google,search2.incredimail.com 1254 | search,Google,search3.incredimail.com 1255 | search,Google,search4.incredimail.com 1256 | search,Google,search.incredibar.com 1257 | search,Google,search.sweetim.com 1258 | search,Google,fastweb.it 1259 | search,Google,search.juno.com 1260 | search,Google,find.tdc.dk 1261 | search,Google,searchresults.verizon.com 1262 | search,Google,search.walla.co.il 1263 | search,Google,search.alot.com 1264 | search,Google,googleearth.de 1265 | search,Google,googleearth.fr 1266 | search,Google,webcache.googleusercontent.com 1267 | search,Google,encrypted.google.com 1268 | search,Google,googlesyndicatedsearch.com 1269 | search,SearchCanvas,searchcanvas.com 1270 | search,Alexa,alexa.com 1271 | search,Alexa,search.toolbars.alexa.com 1272 | search,Najdi,najdi.si 1273 | search,Blogpulse,blogpulse.com 1274 | search,YouGoo,yougoo.fr 1275 | search,Bing Images,bing.com/images/search 1276 | search,arama,arama.com 1277 | search,Goyellow.de,goyellow.de 1278 | search,Certified-Toolbar,search.certified-toolbar.com 1279 | search,1und1,search.1und1.de 1280 | search,AOL,search.aol.com 1281 | search,AOL,search.aol.it 1282 | search,AOL,aolsearch.aol.com 1283 | search,AOL,aolsearch.com 1284 | search,AOL,aolrecherche.aol.fr 1285 | search,AOL,aolrecherches.aol.fr 1286 | search,AOL,aolimages.aol.fr 1287 | search,AOL,aim.search.aol.com 1288 | search,AOL,recherche.aol.fr 1289 | search,AOL,find.web.aol.com 1290 | search,AOL,recherche.aol.ca 1291 | search,AOL,aolsearch.aol.co.uk 1292 | search,AOL,search.aol.co.uk 1293 | search,AOL,sucheaol.aol.de 1294 | search,AOL,suche.aol.de 1295 | search,AOL,suche.aolsvc.de 1296 | search,AOL,aolbusqueda.aol.com.mx 1297 | search,AOL,alicesuche.aol.de 1298 | search,AOL,alicesuchet.aol.de 1299 | search,AOL,suchet2.aol.de 1300 | search,AOL,search.hp.my.aol.com.au 1301 | search,AOL,search.hp.my.aol.de 1302 | search,AOL,search.hp.my.aol.it 1303 | search,AOL,search-intl.netscape.com 1304 | search,Freenet,suche.freenet.de 1305 | search,Sogou,sougou.com 1306 | search,Eurip,eurip.com 1307 | search,Monstercrawler,monstercrawler.com 1308 | search,Zoeken,zoeken.nl 1309 | search,Onet,szukaj.onet.pl 1310 | search,Freshweather,fresh-weather.com 1311 | search,Voila,search.ke.voila.fr 1312 | search,Voila,lemoteur.fr 1313 | search,Sharelook,sharelook.fr 1314 | search,Jungle Spider,jungle-spider.de 1315 | search,Orange,busca.orange.es 1316 | search,Orange,search.orange.co.uk 1317 | search,Rambler,nova.rambler.ru 1318 | search,Altavista,altavista.com 1319 | search,Altavista,search.altavista.com 1320 | search,Altavista,listings.altavista.com 1321 | search,Altavista,altavista.de 1322 | search,Altavista,altavista.fr 1323 | search,Altavista,be-nl.altavista.com 1324 | search,Altavista,be-fr.altavista.com 1325 | search,T-Online,suche.t-online.de 1326 | search,T-Online,brisbane.t-online.de 1327 | search,T-Online,navigationshilfe.t-online.de 1328 | search,Comcast,serach.comcast.net 1329 | search,Flix,flix.de 1330 | search,Virgilio,ricerca.virgilio.it 1331 | search,Virgilio,ricercaimmagini.virgilio.it 1332 | search,Virgilio,ricercavideo.virgilio.it 1333 | search,Virgilio,ricercanews.virgilio.it 1334 | search,Virgilio,mobile.virgilio.it 1335 | search,Metager,meta.rrzn.uni-hannover.de 1336 | search,Metager,metager.de 1337 | search,Bluewin,search.bluewin.ch 1338 | search,InfoSpace,infospace.com 1339 | search,InfoSpace,dogpile.com 1340 | search,InfoSpace,metacrawler.com 1341 | search,InfoSpace,webfetch.com 1342 | search,InfoSpace,webcrawler.com 1343 | search,InfoSpace,search.kiwee.com 1344 | search,InfoSpace,isearch.babylon.com 1345 | search,InfoSpace,start.facemoods.com 1346 | search,InfoSpace,search.magnetic.com 1347 | search,InfoSpace,search.searchcompletion.com 1348 | search,InfoSpace,clusty.com 1349 | search,Road Runner Search,search.rr.com 1350 | search,ICQ,icq.com 1351 | search,ICQ,search.icq.com 1352 | search,Metager2,metager2.de 1353 | search,Kvasir,kvasir.no 1354 | search,Daum,search.daum.net 1355 | search,Sapo,pesquisa.sapo.pt 1356 | search,Yahoo! Images,image.yahoo.cn 1357 | search,Yahoo! Images,images.search.yahoo.com 1358 | search,Technorati,technorati.com 1359 | search,DuckDuckGo,duckduckgo.com 1360 | search,Vinden,vinden.nl 1361 | search,Meta,meta.ua 1362 | search,Arianna,arianna.libero.it 1363 | search,Arianna,arianna.com 1364 | search,Icerockeet,blogs.icerocket.com 1365 | search,Tiscali,search.tiscali.it 1366 | search,Tiscali,search-dyn.tiscali.it 1367 | search,Tiscali,hledani.tiscali.cz 1368 | search,Yasni,yasni.de 1369 | search,Yasni,yasni.com 1370 | search,Yasni,yasni.co.uk 1371 | search,Yasni,yasni.ch 1372 | search,Yasni,yasni.at 1373 | search,MySearch,mysearch.com 1374 | search,MySearch,ms114.mysearch.com 1375 | search,MySearch,ms146.mysearch.com 1376 | search,MySearch,kf.mysearch.myway.com 1377 | search,MySearch,ki.mysearch.myway.com 1378 | search,MySearch,search.myway.com 1379 | search,MySearch,search.mywebsearch.com 1380 | search,Excite,search.excite.it 1381 | search,Excite,search.excite.fr 1382 | search,Excite,search.excite.de 1383 | search,Excite,search.excite.co.uk 1384 | search,Excite,serach.excite.es 1385 | search,Excite,search.excite.nl 1386 | search,Excite,msxml.excite.com 1387 | search,Excite,excite.co.jp 1388 | search,Yandex,yandex.ru 1389 | search,Yandex,yandex.ua 1390 | search,Yandex,yandex.com 1391 | search,Yandex,yandex.by 1392 | search,Interia,google.interia.pl 1393 | search,Atlas,searchatlas.centrum.cz 1394 | search,Hooseek.com,hooseek.com 1395 | search,earthlink,search.earthlink.net 1396 | search,DasTelefonbuch,.dastelefonbuch.de 1397 | search,Fixsuche,fixsuche.de 1398 | search,Opplysningen 1881,1881.no 1399 | search,PriceRunner,pricerunner.co.uk 1400 | search,Delfi,otsing.delfi.ee 1401 | search,Gnadenmeer,gnadenmeer.de 1402 | search,Paperball,paperball.de 1403 | search,Ecosia,ecosia.org 1404 | search,Witch,witch.de 1405 | search,Yatedo,yatedo.com 1406 | search,Yatedo,yatedo.fr 1407 | search,suche.info,suche.info 1408 | search,Clix,pesquisa.clix.pt 1409 | search,Fireball,fireball.de 1410 | search,Free,search.free.fr 1411 | search,Free,search1-2.free.fr 1412 | search,Free,search1-1.free.fr 1413 | search,Austronaut,.austronaut.at 1414 | search,Austronaut,.astronaut.at 1415 | search,Holmes,holmes.ge 1416 | search,GMX,suche.gmx.net 1417 | search,Trusted-Search,trusted--search.com 1418 | search,Francite,recherche.francite.com 1419 | search,Zoohoo,zoohoo.cz 1420 | search,Search.ch,search.ch 1421 | search,GAIS,gais.cs.ccu.edu.tw 1422 | search,Search.com,search.com 1423 | search,Online.no,online.no 1424 | search,Mister Wong,mister-wong.com 1425 | search,Mister Wong,mister-wong.de 1426 | search,Exalead,exalead.fr 1427 | search,Exalead,exalead.com 1428 | search,360.cn,so.360.cn 1429 | search,360.cn,so.com 1430 | search,Geona,geona.net 1431 | search,Wirtualna Polska,szukaj.wp.pl 1432 | search,Yippy,search.yippy.com 1433 | search,qip,search.qip.ru 1434 | search,Findwide,search.findwide.com 1435 | search,Google Product Search,google.ac/products 1436 | search,Google Product Search,google.ad/products 1437 | search,Google Product Search,google.ae/products 1438 | search,Google Product Search,google.am/products 1439 | search,Google Product Search,google.as/products 1440 | search,Google Product Search,google.at/products 1441 | search,Google Product Search,google.az/products 1442 | search,Google Product Search,google.ba/products 1443 | search,Google Product Search,google.be/products 1444 | search,Google Product Search,google.bf/products 1445 | search,Google Product Search,google.bg/products 1446 | search,Google Product Search,google.bi/products 1447 | search,Google Product Search,google.bj/products 1448 | search,Google Product Search,google.bs/products 1449 | search,Google Product Search,google.by/products 1450 | search,Google Product Search,google.ca/products 1451 | search,Google Product Search,google.cat/products 1452 | search,Google Product Search,google.cc/products 1453 | search,Google Product Search,google.cd/products 1454 | search,Google Product Search,google.cf/products 1455 | search,Google Product Search,google.cg/products 1456 | search,Google Product Search,google.ch/products 1457 | search,Google Product Search,google.ci/products 1458 | search,Google Product Search,google.cl/products 1459 | search,Google Product Search,google.cm/products 1460 | search,Google Product Search,google.cn/products 1461 | search,Google Product Search,google.co.bw/products 1462 | search,Google Product Search,google.co.ck/products 1463 | search,Google Product Search,google.co.cr/products 1464 | search,Google Product Search,google.co.id/products 1465 | search,Google Product Search,google.co.il/products 1466 | search,Google Product Search,google.co.in/products 1467 | search,Google Product Search,google.co.jp/products 1468 | search,Google Product Search,google.co.ke/products 1469 | search,Google Product Search,google.co.kr/products 1470 | search,Google Product Search,google.co.ls/products 1471 | search,Google Product Search,google.co.ma/products 1472 | search,Google Product Search,google.co.mz/products 1473 | search,Google Product Search,google.co.nz/products 1474 | search,Google Product Search,google.co.th/products 1475 | search,Google Product Search,google.co.tz/products 1476 | search,Google Product Search,google.co.ug/products 1477 | search,Google Product Search,google.co.uk/products 1478 | search,Google Product Search,google.co.uz/products 1479 | search,Google Product Search,google.co.ve/products 1480 | search,Google Product Search,google.co.vi/products 1481 | search,Google Product Search,google.co.za/products 1482 | search,Google Product Search,google.co.zm/products 1483 | search,Google Product Search,google.co.zw/products 1484 | search,Google Product Search,google.com/products 1485 | search,Google Product Search,google.com.af/products 1486 | search,Google Product Search,google.com.ag/products 1487 | search,Google Product Search,google.com.ai/products 1488 | search,Google Product Search,google.com.ar/products 1489 | search,Google Product Search,google.com.au/products 1490 | search,Google Product Search,google.com.bd/products 1491 | search,Google Product Search,google.com.bh/products 1492 | search,Google Product Search,google.com.bn/products 1493 | search,Google Product Search,google.com.bo/products 1494 | search,Google Product Search,google.com.br/products 1495 | search,Google Product Search,google.com.by/products 1496 | search,Google Product Search,google.com.bz/products 1497 | search,Google Product Search,google.com.co/products 1498 | search,Google Product Search,google.com.cu/products 1499 | search,Google Product Search,google.com.cy/products 1500 | search,Google Product Search,google.com.do/products 1501 | search,Google Product Search,google.com.ec/products 1502 | search,Google Product Search,google.com.eg/products 1503 | search,Google Product Search,google.com.et/products 1504 | search,Google Product Search,google.com.fj/products 1505 | search,Google Product Search,google.com.gh/products 1506 | search,Google Product Search,google.com.gi/products 1507 | search,Google Product Search,google.com.gt/products 1508 | search,Google Product Search,google.com.hk/products 1509 | search,Google Product Search,google.com.jm/products 1510 | search,Google Product Search,google.com.kh/products 1511 | search,Google Product Search,google.com.kw/products 1512 | search,Google Product Search,google.com.lb/products 1513 | search,Google Product Search,google.com.lc/products 1514 | search,Google Product Search,google.com.ly/products 1515 | search,Google Product Search,google.com.mt/products 1516 | search,Google Product Search,google.com.mx/products 1517 | search,Google Product Search,google.com.my/products 1518 | search,Google Product Search,google.com.na/products 1519 | search,Google Product Search,google.com.nf/products 1520 | search,Google Product Search,google.com.ng/products 1521 | search,Google Product Search,google.com.ni/products 1522 | search,Google Product Search,google.com.np/products 1523 | search,Google Product Search,google.com.om/products 1524 | search,Google Product Search,google.com.pa/products 1525 | search,Google Product Search,google.com.pe/products 1526 | search,Google Product Search,google.com.ph/products 1527 | search,Google Product Search,google.com.pk/products 1528 | search,Google Product Search,google.com.pr/products 1529 | search,Google Product Search,google.com.py/products 1530 | search,Google Product Search,google.com.qa/products 1531 | search,Google Product Search,google.com.sa/products 1532 | search,Google Product Search,google.com.sb/products 1533 | search,Google Product Search,google.com.sg/products 1534 | search,Google Product Search,google.com.sl/products 1535 | search,Google Product Search,google.com.sv/products 1536 | search,Google Product Search,google.com.tj/products 1537 | search,Google Product Search,google.com.tn/products 1538 | search,Google Product Search,google.com.tr/products 1539 | search,Google Product Search,google.com.tw/products 1540 | search,Google Product Search,google.com.ua/products 1541 | search,Google Product Search,google.com.uy/products 1542 | search,Google Product Search,google.com.vc/products 1543 | search,Google Product Search,google.com.vn/products 1544 | search,Google Product Search,google.cv/products 1545 | search,Google Product Search,google.cz/products 1546 | search,Google Product Search,google.de/products 1547 | search,Google Product Search,google.dj/products 1548 | search,Google Product Search,google.dk/products 1549 | search,Google Product Search,google.dm/products 1550 | search,Google Product Search,google.dz/products 1551 | search,Google Product Search,google.ee/products 1552 | search,Google Product Search,google.es/products 1553 | search,Google Product Search,google.fi/products 1554 | search,Google Product Search,google.fm/products 1555 | search,Google Product Search,google.fr/products 1556 | search,Google Product Search,google.ga/products 1557 | search,Google Product Search,google.gd/products 1558 | search,Google Product Search,google.ge/products 1559 | search,Google Product Search,google.gf/products 1560 | search,Google Product Search,google.gg/products 1561 | search,Google Product Search,google.gl/products 1562 | search,Google Product Search,google.gm/products 1563 | search,Google Product Search,google.gp/products 1564 | search,Google Product Search,google.gr/products 1565 | search,Google Product Search,google.gy/products 1566 | search,Google Product Search,google.hn/products 1567 | search,Google Product Search,google.hr/products 1568 | search,Google Product Search,google.ht/products 1569 | search,Google Product Search,google.hu/products 1570 | search,Google Product Search,google.ie/products 1571 | search,Google Product Search,google.im/products 1572 | search,Google Product Search,google.io/products 1573 | search,Google Product Search,google.iq/products 1574 | search,Google Product Search,google.is/products 1575 | search,Google Product Search,google.it/products 1576 | search,Google Product Search,google.it.ao/products 1577 | search,Google Product Search,google.je/products 1578 | search,Google Product Search,google.jo/products 1579 | search,Google Product Search,google.kg/products 1580 | search,Google Product Search,google.ki/products 1581 | search,Google Product Search,google.kz/products 1582 | search,Google Product Search,google.la/products 1583 | search,Google Product Search,google.li/products 1584 | search,Google Product Search,google.lk/products 1585 | search,Google Product Search,google.lt/products 1586 | search,Google Product Search,google.lu/products 1587 | search,Google Product Search,google.lv/products 1588 | search,Google Product Search,google.md/products 1589 | search,Google Product Search,google.me/products 1590 | search,Google Product Search,google.mg/products 1591 | search,Google Product Search,google.mk/products 1592 | search,Google Product Search,google.ml/products 1593 | search,Google Product Search,google.mn/products 1594 | search,Google Product Search,google.ms/products 1595 | search,Google Product Search,google.mu/products 1596 | search,Google Product Search,google.mv/products 1597 | search,Google Product Search,google.mw/products 1598 | search,Google Product Search,google.ne/products 1599 | search,Google Product Search,google.nl/products 1600 | search,Google Product Search,google.no/products 1601 | search,Google Product Search,google.nr/products 1602 | search,Google Product Search,google.nu/products 1603 | search,Google Product Search,google.pl/products 1604 | search,Google Product Search,google.pn/products 1605 | search,Google Product Search,google.ps/products 1606 | search,Google Product Search,google.pt/products 1607 | search,Google Product Search,google.ro/products 1608 | search,Google Product Search,google.rs/products 1609 | search,Google Product Search,google.ru/products 1610 | search,Google Product Search,google.rw/products 1611 | search,Google Product Search,google.sc/products 1612 | search,Google Product Search,google.se/products 1613 | search,Google Product Search,google.sh/products 1614 | search,Google Product Search,google.si/products 1615 | search,Google Product Search,google.sk/products 1616 | search,Google Product Search,google.sm/products 1617 | search,Google Product Search,google.sn/products 1618 | search,Google Product Search,google.so/products 1619 | search,Google Product Search,google.st/products 1620 | search,Google Product Search,google.td/products 1621 | search,Google Product Search,google.tg/products 1622 | search,Google Product Search,google.tk/products 1623 | search,Google Product Search,google.tl/products 1624 | search,Google Product Search,google.tm/products 1625 | search,Google Product Search,google.to/products 1626 | search,Google Product Search,google.tt/products 1627 | search,Google Product Search,google.us/products 1628 | search,Google Product Search,google.vg/products 1629 | search,Google Product Search,google.vu/products 1630 | search,Google Product Search,google.ws/products 1631 | search,Tixuma,tixuma.de 1632 | search,Marktplaats,marktplaats.nl 1633 | search,eo,eo.st 1634 | search,Volny,web.volny.cz 1635 | search,Yam,search.yam.com 1636 | search,Compuserve,websearch.cs.com 1637 | search,Fast Browser Search,fastbrowsersearch.com 1638 | search,Delfi latvia,smart.delfi.lv 1639 | search,Zhongsou,p.zhongsou.com 1640 | search,Suchnase,suchnase.de 1641 | search,Everyclick,everyclick.com 1642 | search,Rakuten,websearch.rakuten.co.jp 1643 | search,Naver,search.naver.com 1644 | search,DasOertliche,dasoertliche.de 1645 | search,Yahoo!,yahoo.com 1646 | search,Yahoo!,ar.search.yahoo.com 1647 | search,Yahoo!,ar.yahoo.com 1648 | search,Yahoo!,au.search.yahoo.com 1649 | search,Yahoo!,au.yahoo.com 1650 | search,Yahoo!,br.search.yahoo.com 1651 | search,Yahoo!,br.yahoo.com 1652 | search,Yahoo!,cade.searchde.yahoo.com 1653 | search,Yahoo!,cade.yahoo.com 1654 | search,Yahoo!,chinese.searchinese.yahoo.com 1655 | search,Yahoo!,chinese.yahoo.com 1656 | search,Yahoo!,cn.search.yahoo.com 1657 | search,Yahoo!,cn.yahoo.com 1658 | search,Yahoo!,de.search.yahoo.com 1659 | search,Yahoo!,de.yahoo.com 1660 | search,Yahoo!,dk.search.yahoo.com 1661 | search,Yahoo!,dk.yahoo.com 1662 | search,Yahoo!,es.search.yahoo.com 1663 | search,Yahoo!,es.yahoo.com 1664 | search,Yahoo!,espanol.searchpanol.yahoo.com 1665 | search,Yahoo!,espanol.yahoo.com 1666 | search,Yahoo!,fr.search.yahoo.com 1667 | search,Yahoo!,fr.yahoo.com 1668 | search,Yahoo!,ie.search.yahoo.com 1669 | search,Yahoo!,ie.yahoo.com 1670 | search,Yahoo!,it.search.yahoo.com 1671 | search,Yahoo!,it.yahoo.com 1672 | search,Yahoo!,kr.search.yahoo.com 1673 | search,Yahoo!,kr.yahoo.com 1674 | search,Yahoo!,mx.search.yahoo.com 1675 | search,Yahoo!,mx.yahoo.com 1676 | search,Yahoo!,no.search.yahoo.com 1677 | search,Yahoo!,no.yahoo.com 1678 | search,Yahoo!,nz.search.yahoo.com 1679 | search,Yahoo!,nz.yahoo.com 1680 | search,Yahoo!,one.cn.yahoo.com 1681 | search,Yahoo!,one.searchn.yahoo.com 1682 | search,Yahoo!,qc.search.yahoo.com 1683 | search,Yahoo!,qc.yahoo.com 1684 | search,Yahoo!,se.search.yahoo.com 1685 | search,Yahoo!,se.yahoo.com 1686 | search,Yahoo!,search.searcharch.yahoo.com 1687 | search,Yahoo!,search.yahoo.com 1688 | search,Yahoo!,uk.search.yahoo.com 1689 | search,Yahoo!,uk.yahoo.com 1690 | search,Yahoo!,yahoo.co.jp 1691 | search,Yahoo!,search.yahoo.co.jp 1692 | search,Yahoo!,cercato.it 1693 | search,Yahoo!,search.offerbox.com 1694 | search,Yahoo!,ys.mirostart.com 1695 | search,Abacho,abacho.de 1696 | search,Abacho,abacho.com 1697 | search,Abacho,abacho.co.uk 1698 | search,Abacho,se.abacho.com 1699 | search,Abacho,tr.abacho.com 1700 | search,Abacho,abacho.at 1701 | search,Abacho,abacho.fr 1702 | search,Abacho,abacho.es 1703 | search,Abacho,abacho.ch 1704 | search,Abacho,abacho.it 1705 | search,Trouvez.com,trouvez.com 1706 | search,Firstfind,firstsfind.com 1707 | search,Plazoo,plazoo.com 1708 | search,Gomeo,gomeo.com 1709 | search,Searchy,searchy.co.uk 1710 | search,1.cz,1.cz 1711 | search,Gule Sider,gulesider.no 1712 | search,Cuil,cuil.com 1713 | search,Winamp,search.winamp.com 1714 | search,Web.de,suche.web.de 1715 | search,ABCsøk,abcsolk.no 1716 | search,ABCsøk,verden.abcsok.no 1717 | search,La Toile Du Quebec Via Google,toile.com 1718 | search,La Toile Du Quebec Via Google,web.toile.com 1719 | search,dmoz,dmoz.org 1720 | search,dmoz,editors.dmoz.org 1721 | search,Acoon,acoon.de 1722 | search,blekko,blekko.com 1723 | search,Searchalot,searchalot.com 1724 | search,Kataweb,kataweb.it 1725 | search,Biglobe,cgi.search.biglobe.ne.jp 1726 | search,uol.com.br,busca.uol.com.br 1727 | unknown,Outbrain,paid.outbrain.com 1728 | unknown,Taboola,trc.taboola.com 1729 | unknown,Taboola,api.taboola.com 1730 | unknown,Google,support.google.com 1731 | unknown,Google,developers.google.com 1732 | unknown,Google,maps.google.com 1733 | unknown,Google,accounts.google.com 1734 | unknown,Google,drive.google.com 1735 | unknown,Google,sites.google.com 1736 | unknown,Google,groups.google.com 1737 | unknown,Google,groups.google.co.uk 1738 | unknown,Yahoo!,finance.yahoo.com 1739 | unknown,Yahoo!,news.yahoo.com 1740 | unknown,Yahoo!,eurosport.yahoo.com 1741 | unknown,Yahoo!,sports.yahoo.com 1742 | unknown,Yahoo!,astrology.yahoo.com 1743 | unknown,Yahoo!,travel.yahoo.com 1744 | unknown,Yahoo!,answers.yahoo.com 1745 | unknown,Yahoo!,screen.yahoo.com 1746 | unknown,Yahoo!,weather.yahoo.com 1747 | unknown,Yahoo!,messenger.yahoo.com 1748 | unknown,Yahoo!,games.yahoo.com 1749 | unknown,Yahoo!,shopping.yahoo.net 1750 | unknown,Yahoo!,movies.yahoo.com 1751 | unknown,Yahoo!,cars.yahoo.com 1752 | unknown,Yahoo!,lifestyle.yahoo.com 1753 | unknown,Yahoo!,omg.yahoo.com 1754 | unknown,Yahoo!,match.yahoo.net 1755 | social,Pinterest,pinterest.com 1756 | social,Pinterest,in.pinterest.com 1757 | social,Pinterest,pinterest.co.kr 1758 | social,Pinterest,pinterest.ru 1759 | social,Pinterest,pinterest.co.uk 1760 | social,Pinterest,br.pinterest.com 1761 | social,Pinterest,pinterest.es 1762 | social,Pinterest,id.pinterest.com 1763 | social,Pinterest,pinterest.fr 1764 | social,Pinterest,pinterest.ca 1765 | social,Pinterest,pinterest.jp 1766 | social,Pinterest,pinterest.de 1767 | social,Pinterest,pinterest.com.mx 1768 | social,Pinterest,pinterest.it 1769 | social,Pinterest,pinterest.com.au 1770 | social,Pinterest,pinterest.ph 1771 | social,Pinterest,pl.pinterest.com 1772 | social,Pinterest,nl.pinterest.com 1773 | social,Pinterest,tr.pinterest.com 1774 | social,Pinterest,co.pinterest.com 1775 | social,Pinterest,ar.pinterest.com 1776 | social,Pinterest,pinterest.pt 1777 | social,Pinterest,za.pinterest.com 1778 | social,Pinterest,pinterest.cl 1779 | social,Pinterest,pinterest.se 1780 | social,Pinterest,ro.pinterest.com 1781 | social,Pinterest,pinterest.dk 1782 | social,Pinterest,pinterest.at 1783 | social,Pinterest,pinterest.nz 1784 | social,Pinterest,pinterest.ch 1785 | social,Pinterest,cz.pinterest.com 1786 | social,Pinterest,hu.pinterest.com 1787 | social,Pinterest,gr.pinterest.com 1788 | social,Pinterest,pinterest.ie 1789 | social,Pinterest,no.pinterest.com 1790 | social,Pinterest,sk.pinterest.com 1791 | social,Pinterest,fi.pinterest.com 1792 | social,Instagram,l.instagram.com 1793 | social,Facebook,web.facebook.com 1794 | search,Baidu,m.baidu.com 1795 | social,Huaban,huaban.com 1796 | social,Vkontakte,away.vk.com 1797 | search,360.cn,360.cn 1798 | social,Zhihu,link.zhihu.com 1799 | social,Zhihu,zhihu.com 1800 | social,Tumblr,t.umblr.com 1801 | search,Sogou,sogou.com 1802 | search,Sogou,m.sogou.com 1803 | social,UISDC,uisdc.com 1804 | social,UISDC,hao.uisdc.com 1805 | --------------------------------------------------------------------------------