Documentation
¶
Index ¶
- func HashString(input string) string
- type MetaCAClient
- func (c *MetaCAClient) SendAddToCartEvent(userData RawUserData, productName string, quantity int) error
- func (c *MetaCAClient) SendEvents(events []MetaConversionEvent) (*MetaCAPIResponse, error)
- func (c *MetaCAClient) SendPageViewEvent(userData RawUserData, pageURL string) error
- func (c *MetaCAClient) SendPurchaseEvent(userData RawUserData, orderID string, items []MetaContent, total float64) error
- func (c *MetaCAClient) SendSearchEvent(userData RawUserData, searchString string) error
- func (c *MetaCAClient) SendTestEvent(userData RawUserData, eventId string) error
- func (c *MetaCAClient) SendViewContentEvent(userData RawUserData, contentName string) error
- type MetaCAPIRequest
- type MetaCAPIResponse
- type MetaContent
- type MetaConversionEvent
- type MetaCustomData
- type MetaUserData
- type RawUserData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type MetaCAClient ¶
type MetaCAClient struct {
PixelID string
AccessToken string
ActionSource string
Currency string
HTTPClient *http.Client
}
MetaCAClient handles communication with Meta Conversions API
func NewMetaCAClient ¶
func NewMetaCAClient(pixelID, accessToken, actionSource, currency string, timeout time.Duration) *MetaCAClient
NewMetaCAClient creates a new client instance
func (*MetaCAClient) SendAddToCartEvent ¶
func (c *MetaCAClient) SendAddToCartEvent( userData RawUserData, productName string, quantity int, ) error
SendAddToCartEvent builds and sends a single AddToCart event
func (*MetaCAClient) SendEvents ¶
func (c *MetaCAClient) SendEvents(events []MetaConversionEvent) (*MetaCAPIResponse, error)
SendEvents sends events to Meta Conversions API
func (*MetaCAClient) SendPageViewEvent ¶
func (c *MetaCAClient) SendPageViewEvent( userData RawUserData, pageURL string, ) error
SendPageViewEvent builds and sends a single PageView event
func (*MetaCAClient) SendPurchaseEvent ¶
func (c *MetaCAClient) SendPurchaseEvent( userData RawUserData, orderID string, items []MetaContent, total float64, ) error
SendPurchaseEvent builds and sends a single Purchase event
func (*MetaCAClient) SendSearchEvent ¶
func (c *MetaCAClient) SendSearchEvent( userData RawUserData, searchString string, ) error
SendSearchEvent builds and sends a single Search event
func (*MetaCAClient) SendTestEvent ¶
func (c *MetaCAClient) SendTestEvent(userData RawUserData, eventId string) error
SendTestEvent sends a test event
func (*MetaCAClient) SendViewContentEvent ¶
func (c *MetaCAClient) SendViewContentEvent( userData RawUserData, contentName string, ) error
SendViewContentEvent builds and sends a single ViewContent event
type MetaCAPIRequest ¶
type MetaCAPIRequest struct {
Data []MetaConversionEvent `json:"data"`
}
MetaCAPIRequest is the wrapper for the API call
type MetaCAPIResponse ¶
type MetaCAPIResponse struct {
EventsReceived int `json:"events_received"`
Messages []struct {
Level string `json:"level"`
Message string `json:"message"`
} `json:"messages,omitempty"`
}
MetaCAPIResponse is the API response structure
type MetaContent ¶
type MetaContent struct {
ID string `json:"id"`
Name string `json:"name"`
Quantity int `json:"quantity"`
Price float64 `json:"price,omitempty"`
}
MetaContent represents an item in the cart/purchase
type MetaConversionEvent ¶
type MetaConversionEvent struct {
EventName string `json:"event_name"`
EventTime int64 `json:"event_time"`
ActionSource string `json:"action_source"`
UserData MetaUserData `json:"user_data"`
CustomData MetaCustomData `json:"custom_data,omitempty"`
DataProcessingOptions []string `json:"data_processing_options,omitempty"`
}
MetaConversionEvent represents a single event to send to Meta
type MetaCustomData ¶
type MetaCustomData struct {
Currency string `json:"currency,omitempty"`
Value float64 `json:"value,omitempty"`
Contents []MetaContent `json:"contents,omitempty"`
OrderID string `json:"order_id,omitempty"`
Extra map[string]interface{} `json:"-"`
}
MetaCustomData contains event-specific parameters
type MetaUserData ¶
type MetaUserData struct {
Em string `json:"em,omitempty"` // hashed email
Ph string `json:"ph,omitempty"` // hashed phone
ExternalId string `json:"external_id,omitempty"`
ClientIPAddress string `json:"client_ip_address,omitempty"`
ClientUserAgent string `json:"client_user_agent,omitempty"`
Fbp string `json:"fbp,omitempty"`
Fbc string `json:"fbc,omitempty"`
}
MetaUserData contains hashed user identifiers
type RawUserData ¶ added in v0.0.7
type RawUserData struct {
UserID string `json:"user_id,omitempty"` // optional user identifier
Email string `json:"email,omitempty"` // optional email address
Phone string `json:"phone,omitempty"` // optional phone number
ClientIP string `json:"client_ip,omitempty"` // optional client IP address
UserAgent string `json:"user_agent,omitempty"` // optional user agent string
ConsentAvail bool `json:"consent_avail,omitempty"` // optional consent availability flag
}
RawUserData contains optional user identifiers and context for event tracking