 		if let language = NSLocale.currentLocale().objectForKey(NSLocaleLanguageCode) as? String {
 			items.append(NSURLQueryItem(name: "la", value: language))
 		}
-
+		if let userProperties = event.userProperties {
+			items += userProperties.asQueryItems()
+		}
+		// FIXME: NEEED SESSION DETAILS
+//		if let session = event.session { 
+//			items += userProperties.asQueryItems()
+//		}
 		var pageName: String = ""
 		switch event.kind {
 		case .action(let actionEvent):
 			let actionProperties = actionEvent.actionProperties
-			items += actionProperties.category.map({NSURLQueryItem(name: "ck\($0.index)", value: $0.name)})
+			if let details = actionProperties.details {
+				items += details.map({NSURLQueryItem(name: "ck\($0.index)", value: $0.value)})
+			}
 			items.append(NSURLQueryItem(name: "ct", value: actionProperties.name))
-			items += actionProperties.session.map({NSURLQueryItem(name: "cs\($0.index)", value: $0.name)}) // FIXME: duplicated with page params?
-			if let ecommerceProperties = actionEvent.ecommerceProperties {
-				items += ecommerceProperties.asQueryItems()
-			}
-			if let pageProperties = actionEvent.pageProperties {  // FIXME: NEEDS TO BE Available for PageName
-				items += pageProperties.asQueryItems()
-				pageName = pageProperties.name
+
+			items += actionEvent.ecommerceProperties.asQueryItems()
+			items += actionEvent.pageProperties.asQueryItems()
+			if let name = actionEvent.pageProperties.name {
+				pageName = name
 			}
 
 		case .media(let mediaEvent):


	private func asQueryItems() -> [NSURLQueryItem] {
		var items = [NSURLQueryItem]()
		items += categories.map({NSURLQueryItem(name: "uc\($0.index)", value: $0.name)})
		if let birthday = birthday {
			items = items.filter({$0.name != "uc707"})
			items.append(NSURLQueryItem(name: "uc707", value: birthdayFormatter.stringFromDate(birthday)))

			items = items.filter({$0.name != "uc712"})
			items.append(NSURLQueryItem(name: "uc712", value: streetNumber))
		}
		if let zipCode = zipCode {
			items = items.filter({$0.name != "uc710"})
			items.append(NSURLQueryItem(name: "uc710", value: zipCode))
		}

		return items
