utm

package module
v0.0.0-...-8dc01d9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 16, 2017 License: MIT Imports: 3 Imported by: 0

README

Golang Fast UTM Parser

GoDoc Build Status

Setup

go get -u github.com/xboston/go-utm-parser

Example

package main

import (
	"log"

	utm "github.com/xboston/go-utm-parser"
)

func main() {

	url := "http://www.example.com/?utm_source=source&utm_campaign=campaign&utm_medium=medium&utm_content=content&utm_term=term&utm_extra1=extra1&utm_extra2=extra2"
	utm, _ := utm.ParseURL(&url)

	log.Println(utm)
}

Benchmark

$ go version
go version go1.7.3 darwin/amd64
$ go test -bench . -benchmem
BenchmarkParseURL-4                 	  300000	      4878 ns/op	     976 B/op	      12 allocs/op
BenchmarkParallelParseURL-4         	  500000	      2902 ns/op	     976 B/op	      12 allocs/op
BenchmarkParseQuery-4               	 3000000	       448 ns/op	       0 B/op	       0 allocs/op
BenchmarkParallelParseQuery-4       	10000000	       188 ns/op	       0 B/op	       0 allocs/op
BenchmarkParseQueryFull-4           	 2000000	       821 ns/op	     336 B/op	       2 allocs/op
BenchmarkParallelParseQueryFull-4   	 5000000	       351 ns/op	     336 B/op	       2 allocs/op
PASS
ok  	github.com/xboston/go-utm-parser	11.506s

License

You can check out the full license here

This project is licensed under the terms of the MIT license.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Utm

type Utm struct {
	// источник перехода. Например, direct.yandex.ru, begun.ru и др.
	Source string `json:"source"`
	// средство маркетинга. Например, cpc(или ppc), banner, email и др.
	Medium string `json:"medium"`
	// название проводимой рекламной кампании
	Campaign string `json:"campaign"`
	// дополнительная информация, которая помогает различать объявления
	Content string `json:"content"`
	// ключевая фраза
	Term string `json:"term"`

	// Расширенные метки Google.Adwords и Yandex.Директ
	Extra map[string]string
}

Utm структура меток ( https://yandex.ru/support/metrika/reports/tags.xml )

func ParseURL

func ParseURL(rawurl *string) (Utm, error)

ParseURL парсинг utm меток из url

func ParseValues

func ParseValues(params *url.Values) (Utm, error)

ParseValues парсинг utm меток из url.Values

func ParseValuesFull

func ParseValuesFull(params *url.Values) (Utm, error)

ParseValuesFull парсинг utm меток из url.Values

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL